* [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag
@ 2018-03-07 6:55 Heyi Guo
2018-03-07 6:55 ` [PATCH 2/3] Hisilicon: disable GICv3 legacy mode Heyi Guo
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Heyi Guo @ 2018-03-07 6:55 UTC (permalink / raw)
To: edk2-devel
Cc: Jason Zhang, Heyi Guo, Ard Biesheuvel, Leif Lindholm,
Graeme Gregory
From: Jason Zhang <zhangjinsong2@huawei.com>
Timer is always working on Hisilicon D0x, even system enters WFI/WFE,
and there is no other low power status, so we set "always-on" flag in
ACPI GTDT.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jason Zhang <zhangjinsong2@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Graeme Gregory <graeme.gregory@linaro.org>
---
Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/Gtdt.aslc | 3 ++-
Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/Gtdt.aslc b/Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/Gtdt.aslc
index 4c1050ae83b9..3feb99e88c88 100644
--- a/Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/Gtdt.aslc
+++ b/Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/Gtdt.aslc
@@ -40,8 +40,9 @@
#define GTDT_TIMER_LEVEL_TRIGGERED 0
#define GTDT_TIMER_ACTIVE_LOW EFI_ACPI_6_1_GTDT_TIMER_FLAG_TIMER_INTERRUPT_POLARITY
#define GTDT_TIMER_ACTIVE_HIGH 0
+#define GTDT_TIMER_ALWAYS_ON_CAPABILITY EFI_ACPI_6_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY
-#define GTDT_GTIMER_FLAGS (GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
+#define GTDT_GTIMER_FLAGS (GTDT_TIMER_ALWAYS_ON_CAPABILITY | GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
#pragma pack (1)
diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
index 16e2c6a972ba..2a9d209c00f0 100644
--- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
+++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
@@ -28,7 +28,7 @@
#define GTDT_TIMER_ACTIVE_HIGH 0
#define GTDT_TIMER_ALWAYS_ON_CAPABILITY EFI_ACPI_6_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY
-#define GTDT_GTIMER_FLAGS (GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
+#define GTDT_GTIMER_FLAGS (GTDT_TIMER_ALWAYS_ON_CAPABILITY | GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
#pragma pack (1)
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] Hisilicon: disable GICv3 legacy mode
2018-03-07 6:55 [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Heyi Guo
@ 2018-03-07 6:55 ` Heyi Guo
2018-03-07 6:55 ` [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog Heyi Guo
2018-03-07 9:36 ` [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Laszlo Ersek
2 siblings, 0 replies; 8+ messages in thread
From: Heyi Guo @ 2018-03-07 6:55 UTC (permalink / raw)
To: edk2-devel
Cc: gongchengya, Heyi Guo, Ard Biesheuvel, Leif Lindholm,
Haojian Zhuang
From: gongchengya <gongchengya1@huawei.com>
Hi1616 GIC does not fully support GICv2 legacy mode, and SBSA watchdog
interrupts 400 and 496 cannot be signaled to CPU, so we switch to pure
GICv3 mode.
For other Hisilicon platforms, we suppose they don't need V2 legacy
mode either if they have GICv3. D03 also works for this patch. If the
platforms only have GICv2, this change will have no impact on them.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: gongchengya <gongchengya1@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
---
Silicon/Hisilicon/Hisilicon.dsc.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Silicon/Hisilicon/Hisilicon.dsc.inc b/Silicon/Hisilicon/Hisilicon.dsc.inc
index b196322a20e2..f8d5f0b270b3 100644
--- a/Silicon/Hisilicon/Hisilicon.dsc.inc
+++ b/Silicon/Hisilicon/Hisilicon.dsc.inc
@@ -249,7 +249,7 @@ [PcdsFeatureFlag.common]
gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
- gArmTokenSpaceGuid.PcdArmGicV3WithV2Legacy|TRUE
+ gArmTokenSpaceGuid.PcdArmGicV3WithV2Legacy|FALSE
[PcdsFixedAtBuild.common]
gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|44
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog
2018-03-07 6:55 [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Heyi Guo
2018-03-07 6:55 ` [PATCH 2/3] Hisilicon: disable GICv3 legacy mode Heyi Guo
@ 2018-03-07 6:55 ` Heyi Guo
2018-03-07 16:10 ` Ard Biesheuvel
2018-03-07 9:36 ` [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Laszlo Ersek
2 siblings, 1 reply; 8+ messages in thread
From: Heyi Guo @ 2018-03-07 6:55 UTC (permalink / raw)
To: edk2-devel
Cc: Chenhui Sun, Heyi Guo, Ard Biesheuvel, Leif Lindholm,
Graeme Gregory
From: Chenhui Sun <sunchenhui@huawei.com>
Add description of SBSA watchdogs to ACPI GTDT on D05.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Chenhui Sun <sunchenhui@huawei.com>
Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Graeme Gregory <graeme.gregory@linaro.org>
---
Platform/Hisilicon/D05/D05.dsc | 4 ++++
Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf | 2 ++
Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc | 19 +++++++------------
3 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
index 0792b0814ea1..22eaf356224d 100644
--- a/Platform/Hisilicon/D05/D05.dsc
+++ b/Platform/Hisilicon/D05/D05.dsc
@@ -418,6 +418,10 @@ [PcdsFixedAtBuild.common]
gHisiTokenSpaceGuid.Pcdsoctype|0x1610
+ # SBSA watchdog on Hi1616
+ gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x40500000
+ gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x40600000
+
################################################################################
#
# Components Section - list of all EDK II Modules needed by this Platform
diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
index bb279c8e428e..6955e6145c30 100644
--- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
+++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
@@ -55,5 +55,7 @@ [FixedPcd]
gArmTokenSpaceGuid.PcdArmArchTimerIntrNum
gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum
gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum
+ gArmTokenSpaceGuid.PcdGenericWatchdogControlBase
+ gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
index 2a9d209c00f0..6bc1bde2a490 100644
--- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
+++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
@@ -29,6 +29,7 @@
#define GTDT_TIMER_ALWAYS_ON_CAPABILITY EFI_ACPI_6_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY
#define GTDT_GTIMER_FLAGS (GTDT_TIMER_ALWAYS_ON_CAPABILITY | GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
+#define WATCHDOG_SPAN 0x20000000
#pragma pack (1)
@@ -57,22 +58,16 @@ EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
FixedPcdGet32 (PcdArmArchTimerHypIntrNum), // UINT32 NonSecurePL2TimerGSIV
GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL2TimerFlags
0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBasePhysicalAddress
-#ifdef notyet
- PV660_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
+ HI1616_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
sizeof (EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset
},
{
- EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
- //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 93, 0),
- 0, 0, 0, 0),
- EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
- //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 94, EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER)
- 0, 0, 0, 0)
+ EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
+ FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 400, 0),
+ EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
+ FixedPcdGet32 (PcdGenericWatchdogRefreshBase) + WATCHDOG_SPAN, FixedPcdGet32 (PcdGenericWatchdogControlBase) + WATCHDOG_SPAN, 496, 0)
+
}
-#else /* !notyet */
- 0, 0
- }
-#endif
};
//
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag
2018-03-07 6:55 [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Heyi Guo
2018-03-07 6:55 ` [PATCH 2/3] Hisilicon: disable GICv3 legacy mode Heyi Guo
2018-03-07 6:55 ` [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog Heyi Guo
@ 2018-03-07 9:36 ` Laszlo Ersek
2018-03-08 1:15 ` Guo Heyi
2 siblings, 1 reply; 8+ messages in thread
From: Laszlo Ersek @ 2018-03-07 9:36 UTC (permalink / raw)
To: Heyi Guo, edk2-devel; +Cc: Leif Lindholm, Jason Zhang, Ard Biesheuvel
Hello Heyi,
On 03/07/18 07:55, Heyi Guo wrote:
> From: Jason Zhang <zhangjinsong2@huawei.com>
>
> Timer is always working on Hisilicon D0x, even system enters WFI/WFE,
> and there is no other low power status, so we set "always-on" flag in
> ACPI GTDT.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Jason Zhang <zhangjinsong2@huawei.com>
> Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Graeme Gregory <graeme.gregory@linaro.org>
> ---
> Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/Gtdt.aslc | 3 ++-
> Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc | 2 +-
> 2 files changed, 3 insertions(+), 2 deletions(-)
this is for edk2-platforms, isn't it?
If so, next time please add "edk2-platforms" to the subject prefix, as in:
[PATCH edk2-platforms]
or
[edk2-platforms PATCH]
Thanks!
Laszlo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog
2018-03-07 6:55 ` [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog Heyi Guo
@ 2018-03-07 16:10 ` Ard Biesheuvel
2018-03-07 16:11 ` Ard Biesheuvel
2018-03-12 1:53 ` Guo Heyi
0 siblings, 2 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-03-07 16:10 UTC (permalink / raw)
To: Heyi Guo
Cc: edk2-devel@lists.01.org, Chenhui Sun, Leif Lindholm,
Graeme Gregory
On 7 March 2018 at 06:55, Heyi Guo <heyi.guo@linaro.org> wrote:
> From: Chenhui Sun <sunchenhui@huawei.com>
>
> Add description of SBSA watchdogs to ACPI GTDT on D05.
>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Chenhui Sun <sunchenhui@huawei.com>
> Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Graeme Gregory <graeme.gregory@linaro.org>
> ---
> Platform/Hisilicon/D05/D05.dsc | 4 ++++
> Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf | 2 ++
> Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc | 19 +++++++------------
> 3 files changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
> index 0792b0814ea1..22eaf356224d 100644
> --- a/Platform/Hisilicon/D05/D05.dsc
> +++ b/Platform/Hisilicon/D05/D05.dsc
> @@ -418,6 +418,10 @@ [PcdsFixedAtBuild.common]
>
> gHisiTokenSpaceGuid.Pcdsoctype|0x1610
>
> + # SBSA watchdog on Hi1616
> + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x40500000
> + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x40600000
> +
> ################################################################################
> #
> # Components Section - list of all EDK II Modules needed by this Platform
> diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
> index bb279c8e428e..6955e6145c30 100644
> --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
> +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
> @@ -55,5 +55,7 @@ [FixedPcd]
> gArmTokenSpaceGuid.PcdArmArchTimerIntrNum
> gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum
> gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum
> + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase
> + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase
> gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
>
> diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
> index 2a9d209c00f0..6bc1bde2a490 100644
> --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
> +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
> @@ -29,6 +29,7 @@
> #define GTDT_TIMER_ALWAYS_ON_CAPABILITY EFI_ACPI_6_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY
>
> #define GTDT_GTIMER_FLAGS (GTDT_TIMER_ALWAYS_ON_CAPABILITY | GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
> +#define WATCHDOG_SPAN 0x20000000
>
Please don't use
gArmTokenSpaceGuid.PcdGenericWatchdogXXXBase
to describe two different instances of the IP that are %!@ MB apart.
Instead, you could introduce your own PCDs in the HiSilicon token
space, but I am also fine with creating local #defines in this file if
the watchdog is not used anywhere else.
> #pragma pack (1)
>
> @@ -57,22 +58,16 @@ EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
> FixedPcdGet32 (PcdArmArchTimerHypIntrNum), // UINT32 NonSecurePL2TimerGSIV
> GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL2TimerFlags
> 0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBasePhysicalAddress
> -#ifdef notyet
> - PV660_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
> + HI1616_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
> sizeof (EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset
> },
> {
> - EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> - //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 93, 0),
> - 0, 0, 0, 0),
> - EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> - //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 94, EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER)
> - 0, 0, 0, 0)
> + EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> + FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 400, 0),
> + EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> + FixedPcdGet32 (PcdGenericWatchdogRefreshBase) + WATCHDOG_SPAN, FixedPcdGet32 (PcdGenericWatchdogControlBase) + WATCHDOG_SPAN, 496, 0)
> +
> }
> -#else /* !notyet */
> - 0, 0
> - }
> -#endif
> };
>
> //
> --
> 2.7.4
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog
2018-03-07 16:10 ` Ard Biesheuvel
@ 2018-03-07 16:11 ` Ard Biesheuvel
2018-03-12 1:53 ` Guo Heyi
1 sibling, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2018-03-07 16:11 UTC (permalink / raw)
To: Heyi Guo; +Cc: edk2-devel@lists.01.org, Leif Lindholm, Graeme Gregory
On 7 March 2018 at 16:10, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> On 7 March 2018 at 06:55, Heyi Guo <heyi.guo@linaro.org> wrote:
>> From: Chenhui Sun <sunchenhui@huawei.com>
>>
>> Add description of SBSA watchdogs to ACPI GTDT on D05.
>>
>> Contributed-under: TianoCore Contribution Agreement 1.1
>> Signed-off-by: Chenhui Sun <sunchenhui@huawei.com>
>> Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
>> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>> Cc: Leif Lindholm <leif.lindholm@linaro.org>
>> Cc: Graeme Gregory <graeme.gregory@linaro.org>
>> ---
>> Platform/Hisilicon/D05/D05.dsc | 4 ++++
>> Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf | 2 ++
>> Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc | 19 +++++++------------
>> 3 files changed, 13 insertions(+), 12 deletions(-)
>>
>> diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
>> index 0792b0814ea1..22eaf356224d 100644
>> --- a/Platform/Hisilicon/D05/D05.dsc
>> +++ b/Platform/Hisilicon/D05/D05.dsc
>> @@ -418,6 +418,10 @@ [PcdsFixedAtBuild.common]
>>
>> gHisiTokenSpaceGuid.Pcdsoctype|0x1610
>>
>> + # SBSA watchdog on Hi1616
>> + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x40500000
>> + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x40600000
>> +
>> ################################################################################
>> #
>> # Components Section - list of all EDK II Modules needed by this Platform
>> diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
>> index bb279c8e428e..6955e6145c30 100644
>> --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
>> +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
>> @@ -55,5 +55,7 @@ [FixedPcd]
>> gArmTokenSpaceGuid.PcdArmArchTimerIntrNum
>> gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum
>> gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum
>> + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase
>> + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase
>> gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
>>
>> diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
>> index 2a9d209c00f0..6bc1bde2a490 100644
>> --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
>> +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
>> @@ -29,6 +29,7 @@
>> #define GTDT_TIMER_ALWAYS_ON_CAPABILITY EFI_ACPI_6_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY
>>
>> #define GTDT_GTIMER_FLAGS (GTDT_TIMER_ALWAYS_ON_CAPABILITY | GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
>> +#define WATCHDOG_SPAN 0x20000000
>>
>
> Please don't use
>
> gArmTokenSpaceGuid.PcdGenericWatchdogXXXBase
>
> to describe two different instances of the IP that are %!@ MB apart.
>
I don't know what happened there :-) That should be 512 MB, obviously.
> Instead, you could introduce your own PCDs in the HiSilicon token
> space, but I am also fine with creating local #defines in this file if
> the watchdog is not used anywhere else.
>
>
>> #pragma pack (1)
>>
>> @@ -57,22 +58,16 @@ EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
>> FixedPcdGet32 (PcdArmArchTimerHypIntrNum), // UINT32 NonSecurePL2TimerGSIV
>> GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL2TimerFlags
>> 0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBasePhysicalAddress
>> -#ifdef notyet
>> - PV660_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
>> + HI1616_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
>> sizeof (EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset
>> },
>> {
>> - EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
>> - //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 93, 0),
>> - 0, 0, 0, 0),
>> - EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
>> - //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 94, EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER)
>> - 0, 0, 0, 0)
>> + EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
>> + FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 400, 0),
>> + EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
>> + FixedPcdGet32 (PcdGenericWatchdogRefreshBase) + WATCHDOG_SPAN, FixedPcdGet32 (PcdGenericWatchdogControlBase) + WATCHDOG_SPAN, 496, 0)
>> +
>> }
>> -#else /* !notyet */
>> - 0, 0
>> - }
>> -#endif
>> };
>>
>> //
>> --
>> 2.7.4
>>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag
2018-03-07 9:36 ` [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Laszlo Ersek
@ 2018-03-08 1:15 ` Guo Heyi
0 siblings, 0 replies; 8+ messages in thread
From: Guo Heyi @ 2018-03-08 1:15 UTC (permalink / raw)
To: Laszlo Ersek
Cc: Heyi Guo, edk2-devel, Leif Lindholm, Jason Zhang, Ard Biesheuvel
Yes it is. Sorry for missing to do that. Will keep in mind next time :)
Thanks,
Heyi
On Wed, Mar 07, 2018 at 10:36:48AM +0100, Laszlo Ersek wrote:
> Hello Heyi,
>
> On 03/07/18 07:55, Heyi Guo wrote:
> > From: Jason Zhang <zhangjinsong2@huawei.com>
> >
> > Timer is always working on Hisilicon D0x, even system enters WFI/WFE,
> > and there is no other low power status, so we set "always-on" flag in
> > ACPI GTDT.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Jason Zhang <zhangjinsong2@huawei.com>
> > Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > Cc: Graeme Gregory <graeme.gregory@linaro.org>
> > ---
> > Silicon/Hisilicon/Hi1610/Hi1610AcpiTables/Gtdt.aslc | 3 ++-
> > Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc | 2 +-
> > 2 files changed, 3 insertions(+), 2 deletions(-)
>
> this is for edk2-platforms, isn't it?
>
> If so, next time please add "edk2-platforms" to the subject prefix, as in:
>
> [PATCH edk2-platforms]
>
> or
>
> [edk2-platforms PATCH]
>
> Thanks!
> Laszlo
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog
2018-03-07 16:10 ` Ard Biesheuvel
2018-03-07 16:11 ` Ard Biesheuvel
@ 2018-03-12 1:53 ` Guo Heyi
1 sibling, 0 replies; 8+ messages in thread
From: Guo Heyi @ 2018-03-12 1:53 UTC (permalink / raw)
To: Ard Biesheuvel
Cc: Heyi Guo, edk2-devel@lists.01.org, Chenhui Sun, Leif Lindholm,
Graeme Gregory
On Wed, Mar 07, 2018 at 04:10:23PM +0000, Ard Biesheuvel wrote:
> On 7 March 2018 at 06:55, Heyi Guo <heyi.guo@linaro.org> wrote:
> > From: Chenhui Sun <sunchenhui@huawei.com>
> >
> > Add description of SBSA watchdogs to ACPI GTDT on D05.
> >
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Chenhui Sun <sunchenhui@huawei.com>
> > Signed-off-by: Heyi Guo <heyi.guo@linaro.org>
> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > Cc: Graeme Gregory <graeme.gregory@linaro.org>
> > ---
> > Platform/Hisilicon/D05/D05.dsc | 4 ++++
> > Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf | 2 ++
> > Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc | 19 +++++++------------
> > 3 files changed, 13 insertions(+), 12 deletions(-)
> >
> > diff --git a/Platform/Hisilicon/D05/D05.dsc b/Platform/Hisilicon/D05/D05.dsc
> > index 0792b0814ea1..22eaf356224d 100644
> > --- a/Platform/Hisilicon/D05/D05.dsc
> > +++ b/Platform/Hisilicon/D05/D05.dsc
> > @@ -418,6 +418,10 @@ [PcdsFixedAtBuild.common]
> >
> > gHisiTokenSpaceGuid.Pcdsoctype|0x1610
> >
> > + # SBSA watchdog on Hi1616
> > + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase|0x40500000
> > + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase|0x40600000
> > +
> > ################################################################################
> > #
> > # Components Section - list of all EDK II Modules needed by this Platform
> > diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
> > index bb279c8e428e..6955e6145c30 100644
> > --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
> > +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/AcpiTablesHi1616.inf
> > @@ -55,5 +55,7 @@ [FixedPcd]
> > gArmTokenSpaceGuid.PcdArmArchTimerIntrNum
> > gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum
> > gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum
> > + gArmTokenSpaceGuid.PcdGenericWatchdogControlBase
> > + gArmTokenSpaceGuid.PcdGenericWatchdogRefreshBase
> > gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase
> >
> > diff --git a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
> > index 2a9d209c00f0..6bc1bde2a490 100644
> > --- a/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
> > +++ b/Silicon/Hisilicon/Hi1616/D05AcpiTables/Gtdt.aslc
> > @@ -29,6 +29,7 @@
> > #define GTDT_TIMER_ALWAYS_ON_CAPABILITY EFI_ACPI_6_1_GTDT_TIMER_FLAG_ALWAYS_ON_CAPABILITY
> >
> > #define GTDT_GTIMER_FLAGS (GTDT_TIMER_ALWAYS_ON_CAPABILITY | GTDT_TIMER_ACTIVE_LOW | GTDT_TIMER_LEVEL_TRIGGERED)
> > +#define WATCHDOG_SPAN 0x20000000
> >
>
> Please don't use
>
> gArmTokenSpaceGuid.PcdGenericWatchdogXXXBase
>
> to describe two different instances of the IP that are %!@ MB apart.
>
> Instead, you could introduce your own PCDs in the HiSilicon token
> space, but I am also fine with creating local #defines in this file if
> the watchdog is not used anywhere else.
Yes they are not used anywhere else, and the number of SBSA watchdogs is SoC
related, so I will use local #defines. And I think we can simply change the
content of the macros when things change in the future.
Thanks,
Heyi
>
>
> > #pragma pack (1)
> >
> > @@ -57,22 +58,16 @@ EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLES Gtdt = {
> > FixedPcdGet32 (PcdArmArchTimerHypIntrNum), // UINT32 NonSecurePL2TimerGSIV
> > GTDT_GTIMER_FLAGS, // UINT32 NonSecurePL2TimerFlags
> > 0xFFFFFFFFFFFFFFFF, // UINT64 CntReadBasePhysicalAddress
> > -#ifdef notyet
> > - PV660_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
> > + HI1616_WATCHDOG_COUNT, // UINT32 PlatformTimerCount
> > sizeof (EFI_ACPI_6_1_GENERIC_TIMER_DESCRIPTION_TABLE) // UINT32 PlatfromTimerOffset
> > },
> > {
> > - EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> > - //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 93, 0),
> > - 0, 0, 0, 0),
> > - EFI_ACPI_6_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> > - //FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 94, EFI_ACPI_6_1_GTDT_SBSA_GENERIC_WATCHDOG_FLAG_SECURE_TIMER)
> > - 0, 0, 0, 0)
> > + EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> > + FixedPcdGet32 (PcdGenericWatchdogRefreshBase), FixedPcdGet32 (PcdGenericWatchdogControlBase), 400, 0),
> > + EFI_ACPI_5_1_SBSA_GENERIC_WATCHDOG_STRUCTURE_INIT(
> > + FixedPcdGet32 (PcdGenericWatchdogRefreshBase) + WATCHDOG_SPAN, FixedPcdGet32 (PcdGenericWatchdogControlBase) + WATCHDOG_SPAN, 496, 0)
> > +
> > }
> > -#else /* !notyet */
> > - 0, 0
> > - }
> > -#endif
> > };
> >
> > //
> > --
> > 2.7.4
> >
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-03-12 1:46 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-07 6:55 [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Heyi Guo
2018-03-07 6:55 ` [PATCH 2/3] Hisilicon: disable GICv3 legacy mode Heyi Guo
2018-03-07 6:55 ` [PATCH 3/3] Hisilicon/D05: Support SBSA watchdog Heyi Guo
2018-03-07 16:10 ` Ard Biesheuvel
2018-03-07 16:11 ` Ard Biesheuvel
2018-03-12 1:53 ` Guo Heyi
2018-03-07 9:36 ` [PATCH 1/3] Hisilicon/D0x: Set ACPI GTDT always-on flag Laszlo Ersek
2018-03-08 1:15 ` Guo Heyi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox