From e452f9d1797510bd2fca0b8a5f3939f42bbcc850 Mon Sep 17 00:00:00 2001 From: CoolStar Date: Thu, 11 Jan 2024 17:22:26 -0800 Subject: [PATCH] Platform/RK3588: Enable I2S and codec depending on board (#114) --- .../IndiedroidNova/AcpiTables/AcpiTables.inf | 3 + .../IndiedroidNova/AcpiTables/Dsdt.asl | 14 ++++ .../IndiedroidNova/IndiedroidNova.dsc | 11 +++- .../RockchipPlatformLib/RockchipPlatformLib.c | 1 + .../ITX-3588J/AcpiTables/AcpiTables.inf | 3 + .../ROC-RK3588S-PC/AcpiTables/AcpiTables.inf | 3 + .../ROC-RK3588S-PC/AcpiTables/Dsdt.asl | 14 ++++ .../RockchipPlatformLib/RockchipPlatformLib.c | 2 +- .../ROC-RK3588S-PC/ROC-RK3588S-PC.dsc.inc | 11 +++- .../NanoPC-T6/AcpiTables/AcpiTables.inf | 3 + .../NanoPC-T6/AcpiTables/Dsdt.asl | 4 ++ .../RockchipPlatformLib/RockchipPlatformLib.c | 1 + .../FriendlyElec/NanoPC-T6/NanoPC-T6.dsc | 5 ++ .../NanoPi-R6C/AcpiTables/AcpiTables.inf | 2 + .../NanoPi-R6S/AcpiTables/AcpiTables.inf | 3 + .../Hinlink/H88K/AcpiTables/AcpiTables.inf | 3 + .../Platform/Hinlink/H88K/AcpiTables/Dsdt.asl | 14 ++++ edk2-rockchip/Platform/Hinlink/H88K/H88K.dsc | 11 +++- .../RockchipPlatformLib/RockchipPlatformLib.c | 1 + .../Khadas/Edge2/AcpiTables/AcpiTables.inf | 3 + .../Platform/Khadas/Edge2/AcpiTables/Dsdt.asl | 14 ++++ edk2-rockchip/Platform/Khadas/Edge2/Edge2.dsc | 11 +++- .../RockchipPlatformLib/RockchipPlatformLib.c | 2 + .../R58-Mini/AcpiTables/AcpiTables.inf | 3 + .../R58X/AcpiTables/AcpiTables.inf | 3 + .../Mekotronics/R58X/AcpiTables/Dsdt.asl | 16 ++++- .../RockchipPlatformLib/RockchipPlatformLib.c | 2 +- .../Platform/Mekotronics/R58X/R58X.dsc | 13 ++-- .../Mixtile/Blade3/AcpiTables/AcpiTables.inf | 3 + .../OrangePi5/AcpiTables/AcpiTables.inf | 3 + .../OrangePi/OrangePi5/AcpiTables/Dsdt.asl | 14 ++++ .../RockchipPlatformLib/RockchipPlatformLib.c | 2 + .../Platform/OrangePi/OrangePi5/OrangePi5.dsc | 11 +++- .../OrangePi5Plus/AcpiTables/AcpiTables.inf | 3 + .../OrangePi5Plus/AcpiTables/Dsdt.asl | 14 ++++ .../RockchipPlatformLib/RockchipPlatformLib.c | 2 + .../OrangePi/OrangePi5Plus/OrangePi5Plus.dsc | 11 +++- .../Radxa/ROCK5A/AcpiTables/AcpiTables.inf | 3 + .../Platform/Radxa/ROCK5A/AcpiTables/Dsdt.asl | 14 ++++ .../RockchipPlatformLib/RockchipPlatformLib.c | 2 +- .../Platform/Radxa/ROCK5A/ROCK5A.dsc | 13 ++-- .../Radxa/ROCK5B/AcpiTables/AcpiTables.inf | 3 + .../Platform/Radxa/ROCK5B/AcpiTables/Dsdt.asl | 14 ++++ .../RockchipPlatformLib/RockchipPlatformLib.c | 1 + .../Platform/Radxa/ROCK5B/ROCK5B.dsc | 13 ++-- .../Rockchip/RK3588/AcpiTables/Es8388.asl | 28 ++++++++ .../Rockchip/RK3588/AcpiTables/I2s.asl | 64 +++++++++++++++++++ .../RK3588/Drivers/RK3588Dxe/RK3588Dxe.c | 23 +++++++ .../RK3588/Drivers/RK3588Dxe/RK3588Dxe.inf | 3 + .../Rockchip/RK3588/Include/AcpiTables.h | 1 + .../Silicon/Rockchip/RK3588/RK3588.dec | 3 + 51 files changed, 390 insertions(+), 34 deletions(-) create mode 100644 edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Es8388.asl create mode 100644 edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/I2s.asl diff --git a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/Dsdt.asl index c8a1a77f5..ee9831b76 100644 --- a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8388" +#define BOARD_CODEC_I2C "\\_SB.I2C7" +#define BOARD_CODEC_I2C_ADDR 0x11 +#define BOARD_CODEC_GPIO "\\_SB.GPI4" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PA7 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,8 +36,14 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host2.asl") + + Scope (I2C7) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/IndiedroidNova.dsc b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/IndiedroidNova.dsc index 65428a880..6d55c3ac0 100644 --- a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/IndiedroidNova.dsc +++ b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/IndiedroidNova.dsc @@ -65,9 +65,9 @@ gRockchipTokenSpaceGuid.PcdDeviceTreeName|"rk3588s-9tripod-linux" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x11 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6, 0x7 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -93,6 +93,11 @@ gRK3588TokenSpaceGuid.PcdUsbDpPhy0Supported|TRUE gRK3588TokenSpaceGuid.PcdDp0LaneMux|{ 0x2, 0x3 } + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE + # # On-Board fan output # diff --git a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/Library/RockchipPlatformLib/RockchipPlatformLib.c index aa8d2c162..0cef780ec 100644 --- a/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/Ameridroid/IndiedroidNova/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -292,4 +292,5 @@ PlatformEarlyInit ( ) { // Configure various things specific to this platform + GpioPinSetFunction(4, GPIO_PIN_PA7, 0); //jdet } diff --git a/edk2-rockchip/Platform/Firefly/ITX-3588J/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Firefly/ITX-3588J/AcpiTables/AcpiTables.inf index c9100a7d6..6aed97287 100644 --- a/edk2-rockchip/Platform/Firefly/ITX-3588J/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Firefly/ITX-3588J/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/Dsdt.asl index d0d6d2087..a0228a5c0 100644 --- a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8388" +#define BOARD_CODEC_I2C "\\_SB.I2C3" +#define BOARD_CODEC_I2C_ADDR 0x11 +#define BOARD_CODEC_GPIO "\\_SB.GPI1" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PA6 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,8 +36,14 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host2.asl") + + Scope (I2C3) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/Library/RockchipPlatformLib/RockchipPlatformLib.c index c6167cfaf..5a66f7935 100644 --- a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -364,5 +364,5 @@ PlatformEarlyInit ( VOID ) { - + GpioPinSetFunction(1, GPIO_PIN_PA6, 0); //jdet } diff --git a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/ROC-RK3588S-PC.dsc.inc b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/ROC-RK3588S-PC.dsc.inc index 9324afd99..b3dc9a974 100644 --- a/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/ROC-RK3588S-PC.dsc.inc +++ b/edk2-rockchip/Platform/Firefly/ROC-RK3588S-PC/ROC-RK3588S-PC.dsc.inc @@ -48,9 +48,9 @@ gRockchipTokenSpaceGuid.PcdBoardVendorName|"Firefly" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x2 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x11 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x2, 0x3 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -89,6 +89,11 @@ # gRK3588TokenSpaceGuid.PcdHasOnBoardFanOutput|TRUE + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform. diff --git a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/Dsdt.asl index cceede197..6789498fc 100755 --- a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/AcpiTables/Dsdt.asl @@ -13,6 +13,8 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,6 +30,8 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host1.asl") diff --git a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/Library/RockchipPlatformLib/RockchipPlatformLib.c index 7a091bad3..f27cee8e4 100644 --- a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -350,4 +350,5 @@ PlatformEarlyInit ( ) { // Configure various things specific to this platform + GpioPinSetFunction(1, GPIO_PIN_PC4, 0); //jdet } diff --git a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/NanoPC-T6.dsc b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/NanoPC-T6.dsc index 92699d36b..926b9a487 100644 --- a/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/NanoPC-T6.dsc +++ b/edk2-rockchip/Platform/FriendlyElec/NanoPC-T6/NanoPC-T6.dsc @@ -98,6 +98,11 @@ gRK3588TokenSpaceGuid.PcdDp0LaneMux|{ 0x2, 0x3 } gRK3588TokenSpaceGuid.PcdDp1LaneMux|{ 0x0 } + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform. diff --git a/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6C/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6C/AcpiTables/AcpiTables.inf index 55c9775c4..c33251956 100644 --- a/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6C/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6C/AcpiTables/AcpiTables.inf @@ -60,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6S/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6S/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6S/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/FriendlyElec/NanoPi-R6S/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/Dsdt.asl index a409b7cda..01e88a417 100755 --- a/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/Hinlink/H88K/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8388" +#define BOARD_CODEC_I2C "\\_SB.I2C7" +#define BOARD_CODEC_I2C_ADDR 0x11 +#define BOARD_CODEC_GPIO "\\_SB.GPI1" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PD5 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,9 +36,15 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host1.asl") include ("Usb3Host2.asl") + + Scope (I2C7) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/Hinlink/H88K/H88K.dsc b/edk2-rockchip/Platform/Hinlink/H88K/H88K.dsc index 148732b73..3a14a38a8 100644 --- a/edk2-rockchip/Platform/Hinlink/H88K/H88K.dsc +++ b/edk2-rockchip/Platform/Hinlink/H88K/H88K.dsc @@ -63,9 +63,9 @@ gRockchipTokenSpaceGuid.PcdDeviceTreeName|"rk3588-hinlink-h88k" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x2 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x11 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x2, 0x7 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -103,6 +103,11 @@ gRK3588TokenSpaceGuid.PcdGmac0Supported|TRUE gRK3588TokenSpaceGuid.PcdGmac0TxDelay|0x44 + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform. diff --git a/edk2-rockchip/Platform/Hinlink/H88K/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/Hinlink/H88K/Library/RockchipPlatformLib/RockchipPlatformLib.c index 84e24c398..ff8a81e35 100644 --- a/edk2-rockchip/Platform/Hinlink/H88K/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/Hinlink/H88K/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -382,4 +382,5 @@ PlatformEarlyInit ( ) { // Configure various things specific to this platform + GpioPinSetFunction(1, GPIO_PIN_PD5, 0); //jdet } diff --git a/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/Dsdt.asl index c8a1a77f5..6900027bc 100644 --- a/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/Khadas/Edge2/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8316" +#define BOARD_CODEC_I2C "\\_SB.I2C3" +#define BOARD_CODEC_I2C_ADDR 0x10 +#define BOARD_CODEC_GPIO "\\_SB.GPI1" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PD3 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,8 +36,14 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host2.asl") + + Scope (I2C3) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/Khadas/Edge2/Edge2.dsc b/edk2-rockchip/Platform/Khadas/Edge2/Edge2.dsc index 77af44c5e..59b8c57fd 100644 --- a/edk2-rockchip/Platform/Khadas/Edge2/Edge2.dsc +++ b/edk2-rockchip/Platform/Khadas/Edge2/Edge2.dsc @@ -62,9 +62,9 @@ gRockchipTokenSpaceGuid.PcdDeviceTreeName|"rk3588s-khadas-edge2" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x18 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x2, 0x2 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x18, 0x10 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x2, 0x2, 0x3 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -94,6 +94,11 @@ gRK3588TokenSpaceGuid.PcdUsbDpPhy0Supported|TRUE gRK3588TokenSpaceGuid.PcdDp0LaneMux|{ 0x2, 0x3 } + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE + # # On-Board fan output # diff --git a/edk2-rockchip/Platform/Khadas/Edge2/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/Khadas/Edge2/Library/RockchipPlatformLib/RockchipPlatformLib.c index 8d214dff3..9162eb17b 100644 --- a/edk2-rockchip/Platform/Khadas/Edge2/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/Khadas/Edge2/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -378,4 +378,6 @@ PlatformEarlyInit ( ) { // Configure various things specific to this platform + GpioPinSetFunction(1, GPIO_PIN_PD3, 0); //jdet + GpioPinSetFunction(1, GPIO_PIN_PD0, 0); //spk_con } diff --git a/edk2-rockchip/Platform/Mekotronics/R58-Mini/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Mekotronics/R58-Mini/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Mekotronics/R58-Mini/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Mekotronics/R58-Mini/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/Dsdt.asl index 09f00fea6..a19e0c754 100644 --- a/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/Mekotronics/R58X/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8388" +#define BOARD_CODEC_I2C "\\_SB.I2C3" +#define BOARD_CODEC_I2C_ADDR 0x10 +#define BOARD_CODEC_GPIO "\\_SB.GPI3" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PB2 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -24,14 +32,20 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Dma.asl") include ("Gmac0.asl") include ("Gmac1.asl") - // include ("Gpio.asl") + include ("Gpio.asl") include ("I2c.asl") include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host1.asl") include ("Usb3Host2.asl") + + Scope (I2C3) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/Mekotronics/R58X/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/Mekotronics/R58X/Library/RockchipPlatformLib/RockchipPlatformLib.c index 537c805b1..21808a96d 100644 --- a/edk2-rockchip/Platform/Mekotronics/R58X/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/Mekotronics/R58X/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -380,5 +380,5 @@ PlatformEarlyInit ( VOID ) { - + GpioPinSetFunction(3, GPIO_PIN_PB2, 0); //jdet } diff --git a/edk2-rockchip/Platform/Mekotronics/R58X/R58X.dsc b/edk2-rockchip/Platform/Mekotronics/R58X/R58X.dsc index 695c248c6..02362299e 100644 --- a/edk2-rockchip/Platform/Mekotronics/R58X/R58X.dsc +++ b/edk2-rockchip/Platform/Mekotronics/R58X/R58X.dsc @@ -63,9 +63,9 @@ gRockchipTokenSpaceGuid.PcdDeviceTreeName|"rk3588-blueberry-edge-v12-linux" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x10 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6, 0x3 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -106,7 +106,12 @@ gRK3588TokenSpaceGuid.PcdGmac0Supported|TRUE gRK3588TokenSpaceGuid.PcdGmac1Supported|TRUE gRK3588TokenSpaceGuid.PcdGmac0TxDelay|0x44 - gRK3588TokenSpaceGuid.PcdGmac1TxDelay|0x42 + gRK3588TokenSpaceGuid.PcdGmac1TxDelay|0x42 + + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE ################################################################################ # diff --git a/edk2-rockchip/Platform/Mixtile/Blade3/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Mixtile/Blade3/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Mixtile/Blade3/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Mixtile/Blade3/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/Dsdt.asl index 6e5452067..74222bac7 100755 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S1_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8388" +#define BOARD_CODEC_I2C "\\_SB.I2C6" +#define BOARD_CODEC_I2C_ADDR 0x10 +#define BOARD_CODEC_GPIO "\\_SB.GPI1" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PD5 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,8 +36,14 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host2.asl") + + Scope (I2C6) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/OrangePi/OrangePi5/Library/RockchipPlatformLib/RockchipPlatformLib.c index 6c0f3bc2d..7b63e41c1 100644 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -327,4 +327,6 @@ PlatformEarlyInit ( ) { // Configure various things specific to this platform + + GpioPinSetFunction(1, GPIO_PIN_PD5, 0); //jdet } diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5/OrangePi5.dsc b/edk2-rockchip/Platform/OrangePi/OrangePi5/OrangePi5.dsc index 59b79011f..b481ad973 100644 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5/OrangePi5.dsc +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5/OrangePi5.dsc @@ -63,9 +63,9 @@ gRockchipTokenSpaceGuid.PcdDeviceTreeName|"rk3588s-orangepi-5" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x10 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6, 0x6 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -99,6 +99,11 @@ gRK3588TokenSpaceGuid.PcdGmac1Supported|TRUE gRK3588TokenSpaceGuid.PcdGmac1TxDelay|0x42 + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S1Supported|TRUE + # # On-Board fan output # diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/Dsdt.asl index 48cfa9c8b..08ff398b8 100644 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8388" +#define BOARD_CODEC_I2C "\\_SB.I2C7" +#define BOARD_CODEC_I2C_ADDR 0x11 +#define BOARD_CODEC_GPIO "\\_SB.GPI1" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PD3 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,8 +36,14 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host1.asl") + + Scope (I2C7) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/Library/RockchipPlatformLib/RockchipPlatformLib.c index 2c6fc0dd7..15f4a9e14 100644 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -380,4 +380,6 @@ PlatformEarlyInit ( { // Configure various things specific to this platform PlatformWiFiEnable (TRUE); + + GpioPinSetFunction(1, GPIO_PIN_PD3, 0); //jdet } diff --git a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/OrangePi5Plus.dsc b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/OrangePi5Plus.dsc index eaad8d952..99b4b3fc2 100644 --- a/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/OrangePi5Plus.dsc +++ b/edk2-rockchip/Platform/OrangePi/OrangePi5Plus/OrangePi5Plus.dsc @@ -63,9 +63,9 @@ # I2C gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE } - gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6, 0x7 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } + gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43, 0x11 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } gPcf8563RealTimeClockLibTokenSpaceGuid.PcdI2cSlaveAddress|0x51 @@ -96,6 +96,11 @@ gRK3588TokenSpaceGuid.PcdDp0LaneMux|{ 0x2, 0x3 } gRK3588TokenSpaceGuid.PcdDp1LaneMux|{ 0x0 } + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE + # # On-Board fan output # diff --git a/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/Dsdt.asl index d0d6d2087..c5683d818 100755 --- a/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/Radxa/ROCK5A/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8316" +#define BOARD_CODEC_I2C "\\_SB.I2C7" +#define BOARD_CODEC_I2C_ADDR 0x11 +#define BOARD_CODEC_GPIO "\\_SB.GPI1" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PC4 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,8 +36,14 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host2.asl") + + Scope (I2C7) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/Radxa/ROCK5A/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/Radxa/ROCK5A/Library/RockchipPlatformLib/RockchipPlatformLib.c index c78bdb2c7..955ee5608 100644 --- a/edk2-rockchip/Platform/Radxa/ROCK5A/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/Radxa/ROCK5A/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -326,5 +326,5 @@ PlatformEarlyInit ( ) { // Configure various things specific to this platform - + GpioPinSetFunction(1, GPIO_PIN_PC4, 0); //jdet } diff --git a/edk2-rockchip/Platform/Radxa/ROCK5A/ROCK5A.dsc b/edk2-rockchip/Platform/Radxa/ROCK5A/ROCK5A.dsc index a6bb9374f..e41ca62de 100644 --- a/edk2-rockchip/Platform/Radxa/ROCK5A/ROCK5A.dsc +++ b/edk2-rockchip/Platform/Radxa/ROCK5A/ROCK5A.dsc @@ -57,9 +57,9 @@ gRockchipTokenSpaceGuid.PcdDeviceTreeName|"rk3588s-rock-5a" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x11 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x7 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -90,7 +90,12 @@ # gRK3588TokenSpaceGuid.PcdGmac1Supported|TRUE gRK3588TokenSpaceGuid.PcdGmac1TxDelay|0x3a - gRK3588TokenSpaceGuid.PcdGmac1RxDelay|0x3e + gRK3588TokenSpaceGuid.PcdGmac1RxDelay|0x3e + + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE # # On-Board fan output diff --git a/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/AcpiTables.inf b/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/AcpiTables.inf index 70228303c..c33251956 100644 --- a/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/AcpiTables.inf +++ b/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/AcpiTables.inf @@ -49,6 +49,7 @@ MdeModulePkg/MdeModulePkg.dec MdePkg/MdePkg.dec Silicon/Rockchip/RockchipPkg.dec + Silicon/Rockchip/RK3588/RK3588.dec [FixedPcd] gArmTokenSpaceGuid.PcdArmArchTimerIntrNum @@ -59,3 +60,5 @@ gArmTokenSpaceGuid.PcdGicDistributorBase gArmTokenSpaceGuid.PcdGicRedistributorsBase gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported diff --git a/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/Dsdt.asl b/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/Dsdt.asl index 3ac4dbb1d..9f43a0224 100755 --- a/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/Dsdt.asl +++ b/edk2-rockchip/Platform/Radxa/ROCK5B/AcpiTables/Dsdt.asl @@ -13,6 +13,14 @@ #include "AcpiTables.h" +#define BOARD_I2S0_TPLG "i2s-jack" + +#define BOARD_AUDIO_CODEC_HID "ESSX8316" +#define BOARD_CODEC_I2C "\\_SB.I2C7" +#define BOARD_CODEC_I2C_ADDR 0x11 +#define BOARD_CODEC_GPIO "\\_SB.GPI1" +#define BOARD_CODEC_GPIO_PIN GPIO_PIN_PD5 + DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) { Scope (\_SB_) @@ -28,9 +36,15 @@ DefinitionBlock ("Dsdt.aml", "DSDT", 2, "RKCP ", "RK3588 ", 2) include ("Uart.asl") // include ("Spi.asl") + include ("I2s.asl") + include ("Usb1Host.asl") include ("Usb3Host0.asl") include ("Usb3Host1.asl") include ("Usb3Host2.asl") + + Scope (I2C7) { + include ("Es8388.asl") + } } } diff --git a/edk2-rockchip/Platform/Radxa/ROCK5B/Library/RockchipPlatformLib/RockchipPlatformLib.c b/edk2-rockchip/Platform/Radxa/ROCK5B/Library/RockchipPlatformLib/RockchipPlatformLib.c index 27c3ca1c8..94d541c9c 100644 --- a/edk2-rockchip/Platform/Radxa/ROCK5B/Library/RockchipPlatformLib/RockchipPlatformLib.c +++ b/edk2-rockchip/Platform/Radxa/ROCK5B/Library/RockchipPlatformLib/RockchipPlatformLib.c @@ -359,4 +359,5 @@ PlatformEarlyInit ( ) { // Configure various things specific to this platform + GpioPinSetFunction(1, GPIO_PIN_PD5, 0); //jdet } diff --git a/edk2-rockchip/Platform/Radxa/ROCK5B/ROCK5B.dsc b/edk2-rockchip/Platform/Radxa/ROCK5B/ROCK5B.dsc index 134921bdb..efacaa180 100644 --- a/edk2-rockchip/Platform/Radxa/ROCK5B/ROCK5B.dsc +++ b/edk2-rockchip/Platform/Radxa/ROCK5B/ROCK5B.dsc @@ -63,9 +63,9 @@ gRockchipTokenSpaceGuid.PcdDeviceTreeName|"rk3588-rock-5b" # I2C - gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6 } - gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE } + gRockchipTokenSpaceGuid.PcdI2cSlaveAddresses|{ 0x42, 0x43, 0x51, 0x11 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBuses|{ 0x0, 0x0, 0x6, 0x7 } + gRockchipTokenSpaceGuid.PcdI2cSlaveBusesRuntimeSupport|{ FALSE, FALSE, TRUE, FALSE } gRockchipTokenSpaceGuid.PcdRk860xRegulatorAddresses|{ 0x42, 0x43 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorBuses|{ 0x0, 0x0 } gRockchipTokenSpaceGuid.PcdRk860xRegulatorTags|{ $(SCMI_CLK_CPUB01), $(SCMI_CLK_CPUB23) } @@ -95,7 +95,12 @@ gRK3588TokenSpaceGuid.PcdUsbDpPhy0Supported|TRUE gRK3588TokenSpaceGuid.PcdUsbDpPhy1Supported|TRUE gRK3588TokenSpaceGuid.PcdDp0LaneMux|{ 0x2, 0x3 } - gRK3588TokenSpaceGuid.PcdDp1LaneMux|{ 0x0 } + gRK3588TokenSpaceGuid.PcdDp1LaneMux|{ 0x0 } + + # + # I2S + # + gRK3588TokenSpaceGuid.PcdI2S0Supported|TRUE # # On-Board fan output diff --git a/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Es8388.asl b/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Es8388.asl new file mode 100644 index 000000000..964432a8b --- /dev/null +++ b/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/Es8388.asl @@ -0,0 +1,28 @@ +/** @file + * + * Copyright (c) 2021, ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause-Patent + * + **/ +#include "AcpiTables.h" + + Device (JACK) { + Name (_HID, BOARD_AUDIO_CODEC_HID) + Name (_UID, 0) + Name (_CCA, 0) + + Method (_CRS, 0x0, Serialized) { + Name (RBUF, ResourceTemplate() { + I2cSerialBusV2(BOARD_CODEC_I2C_ADDR, ControllerInitiated, 0x000186A0, + AddressingMode7Bit, BOARD_CODEC_I2C, + 0x00, ResourceConsumer, , Exclusive) + GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000, + BOARD_CODEC_GPIO, 0x00, ResourceConsumer) + { + BOARD_CODEC_GPIO_PIN + } + }) + Return (RBUF) + } + } \ No newline at end of file diff --git a/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/I2s.asl b/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/I2s.asl new file mode 100644 index 000000000..3723bccd8 --- /dev/null +++ b/edk2-rockchip/Silicon/Rockchip/RK3588/AcpiTables/I2s.asl @@ -0,0 +1,64 @@ +/** @file + * + * Copyright (c) 2021, ARM Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-2-Clause-Patent + * + **/ +#include "AcpiTables.h" + +#if FixedPcdGetBool(PcdI2S0Supported) + Device (I2S0) { + Name (_HID, "RKCP3003") + Name (_UID, 0) + Name (_CCA, 0) + + Method (_CRS, 0x0, Serialized) { + Name (RBUF, ResourceTemplate() { + Memory32Fixed (ReadWrite, 0xfe470000, 0x1000) + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 212 } + }) + Return (RBUF) + } + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package (2) { "rockchip,dma", "DMA0" }, + Package (2) { "rockchip,tx", 0 }, + Package (2) { "rockchip,rx", 1 }, + Package (2) { "rockchip,tplg", BOARD_I2S0_TPLG }, + } + }) + Name (_DEP, Package () { \_SB.DMA0 }) + } +#endif + +#if FixedPcdGetBool(PcdI2S1Supported) + Device (I2S1) { + Name (_HID, "RKCP3003") + Name (_UID, 1) + Name (_CCA, 0) + + Method (_CRS, 0x0, Serialized) { + Name (RBUF, ResourceTemplate() { + Memory32Fixed (ReadWrite, 0xfe480000, 0x1000) + Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) { 213 } + }) + Return (RBUF) + } + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package (2) { "rockchip,dma", "DMA0" }, + Package (2) { "rockchip,tx", 2 }, + Package (2) { "rockchip,rx", 3 }, + Package (2) { "rockchip,tplg", BOARD_I2S1_TPLG }, + // XXX: Currently I2S1 is only used by Orange Pi 5. + // The following properties should be board specific + Package (2) { "rockchip,i2s-tx-route", 0x3210 },, + Package (2) { "rockchip,i2s-rx-route", 0x1320 }, + } + }) + Name (_DEP, Package () { \_SB.DMA0 }) + } +#endif \ No newline at end of file diff --git a/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.c b/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.c index a99da589d..0b8ab0a69 100644 --- a/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.c +++ b/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -283,6 +284,28 @@ RK3588InitPeripherals ( /* MTCMOS -- Multi-threshold CMOS */ // MtcmosInit (); + + // Warning: Only enable I2S if present. + // E.g. Enabling I2S1 on OPI5+ causes PCIe devices to disappear + if (FixedPcdGetBool(PcdI2S0Supported)){ + //Configure I2S0 (e.g. Orange Pi 5 Plus) + GpioPinSetFunction(1, GPIO_PIN_PD4, 2); //i2s0_sdi0 + GpioPinSetFunction(1, GPIO_PIN_PC7, 1); //i2s0_sdo0 + + GpioPinSetFunction(1, GPIO_PIN_PC5, 1); //i2s0_lrck + GpioPinSetFunction(1, GPIO_PIN_PC3, 1); //i2s0_sclk + GpioPinSetFunction(1, GPIO_PIN_PC2, 1); //i2s0_mclk + } + + if (FixedPcdGetBool(PcdI2S1Supported)){ + //Configure I2S1 (e.g. Orange Pi 5) + GpioPinSetFunction(4, GPIO_PIN_PA6, 3); //i2s1m0_sdi1 + GpioPinSetFunction(4, GPIO_PIN_PB4, 3); //i2s1m0_sdo3 + + GpioPinSetFunction(4, GPIO_PIN_PA2, 3); //i2s1m0_lrck + GpioPinSetFunction(4, GPIO_PIN_PA1, 3); //i2s1m0_sclk + GpioPinSetFunction(4, GPIO_PIN_PA0, 3); //i2s1m0_mclk + } Rk806Configure(); diff --git a/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.inf b/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.inf index 46b7a6413..55a2e8154 100644 --- a/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.inf +++ b/edk2-rockchip/Silicon/Rockchip/RK3588/Drivers/RK3588Dxe/RK3588Dxe.inf @@ -106,6 +106,9 @@ gRK3588TokenSpaceGuid.PcdUsbDpPhy0Usb3State gRK3588TokenSpaceGuid.PcdUsbDpPhy1Usb3State + gRK3588TokenSpaceGuid.PcdI2S0Supported + gRK3588TokenSpaceGuid.PcdI2S1Supported + [Guids] gRK3588DxeFormSetGuid gEfiEndOfDxeEventGroupGuid diff --git a/edk2-rockchip/Silicon/Rockchip/RK3588/Include/AcpiTables.h b/edk2-rockchip/Silicon/Rockchip/RK3588/Include/AcpiTables.h index e1d5ee98f..31a6fbf43 100644 --- a/edk2-rockchip/Silicon/Rockchip/RK3588/Include/AcpiTables.h +++ b/edk2-rockchip/Silicon/Rockchip/RK3588/Include/AcpiTables.h @@ -16,6 +16,7 @@ #include #include +#include #define EFI_ACPI_OEM_ID {'R','K','C','P',' ',' '} diff --git a/edk2-rockchip/Silicon/Rockchip/RK3588/RK3588.dec b/edk2-rockchip/Silicon/Rockchip/RK3588/RK3588.dec index fce6b832f..140af6932 100644 --- a/edk2-rockchip/Silicon/Rockchip/RK3588/RK3588.dec +++ b/edk2-rockchip/Silicon/Rockchip/RK3588/RK3588.dec @@ -59,6 +59,9 @@ gRK3588TokenSpaceGuid.PcdGmac1TxDelay|0|UINT8|0x00010605 gRK3588TokenSpaceGuid.PcdGmac1RxDelay|0|UINT8|0x00010606 + gRK3588TokenSpaceGuid.PcdI2S0Supported|FALSE|BOOLEAN|0x00010701 + gRK3588TokenSpaceGuid.PcdI2S1Supported|FALSE|BOOLEAN|0x00010702 + [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] gRK3588TokenSpaceGuid.PcdCPULClusterClockPreset|0|UINT32|0x00000001 gRK3588TokenSpaceGuid.PcdCPULClusterClockCustom|0|UINT32|0x00000002