* [U-Boot] [PATCH 00/11] Add support for booting multiple cores
@ 2015-01-15 13:33 Akshay Saraswat
2015-01-15 13:33 ` [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs Akshay Saraswat
2015-01-20 22:33 ` [U-Boot] [PATCH 00/11] Add support for booting multiple cores Kevin Hilman
0 siblings, 2 replies; 7+ messages in thread
From: Akshay Saraswat @ 2015-01-15 13:33 UTC (permalink / raw)
To: u-boot
This patch series introduces changes for booting secondary CPUs
on Exynos5420 and Exynos5800.
Akshay Saraswat (10):
Exynos542x: Config: Add various configs
Exynos542x: CPU: Power down all secondary cores
Exynos542x: Add workaround for ARM errata 798870
Exynos542x: Add workaround for ARM errata 799270
Exynos542x: Add workaround for exynos iROM errata
Exynos542x: Change ambiguous function name set_l2cache
Exynos542x: cache: Disable clean/evict push to external
Exynos542x: add L2 control register configuration
Exynos542x: Fix secondary core booting for thumb
Exynos542x: Make A7s boot with thumb-mode U-Boot on warm reset
Doug Anderson (1):
Exynos: Fix L2 cache timings on Exynos5420 and Exynos5800
arch/arm/cpu/armv7/exynos/Makefile | 2 +
arch/arm/cpu/armv7/exynos/common_setup.h | 55 +++++++++++
arch/arm/cpu/armv7/exynos/lowlevel_init.c | 159 ++++++++++++++++++++++++++++++
arch/arm/cpu/armv7/exynos/sec_boot.S | 145 +++++++++++++++++++++++++++
arch/arm/cpu/armv7/exynos/soc.c | 35 -------
arch/arm/include/asm/arch-exynos/cpu.h | 30 ++++++
arch/arm/include/asm/arch-exynos/system.h | 90 +++++++++++++++++
include/configs/exynos5-common.h | 28 ++++++
8 files changed, 509 insertions(+), 35 deletions(-)
create mode 100644 arch/arm/cpu/armv7/exynos/sec_boot.S
--
1.9.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs
2015-01-15 13:33 [U-Boot] [PATCH 00/11] Add support for booting multiple cores Akshay Saraswat
@ 2015-01-15 13:33 ` Akshay Saraswat
2015-01-16 6:31 ` Minkyu Kang
2015-01-28 4:09 ` Simon Glass
2015-01-20 22:33 ` [U-Boot] [PATCH 00/11] Add support for booting multiple cores Kevin Hilman
1 sibling, 2 replies; 7+ messages in thread
From: Akshay Saraswat @ 2015-01-15 13:33 UTC (permalink / raw)
To: u-boot
This patch adds "iRAM, CPU state and low power" configs
which are the addresses acting as flag registers.
iROM code checks CONFIG_LOWPOWER_FLAG address. If it is equal
to CONFIG_LOWPOWER_EN then it jumps to the address (0x02020000+CPUID*4).
This is a part of iROM logic. Rest other flags are being used at
various places during kernel switching and reset.
They are nowhere documented because they are part programming.
These configs are serving as flags for us because they are
representing the addresses in iRAM which we are using for
storing and extracting CPU Status and GIC status.
Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
---
include/configs/exynos5-common.h | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h
index ad63f3c..831bfd3 100644
--- a/include/configs/exynos5-common.h
+++ b/include/configs/exynos5-common.h
@@ -231,4 +231,32 @@
MEM_LAYOUT_ENV_SETTINGS \
BOOTENV
+/* iRAM */
+#define CONFIG_PHY_IRAM_BASE 0x02020000
+#define CONFIG_SEC_IRAM_SIZE 0x53000 /* 332KB */
+
+#define CONFIG_EXYNOS_RELOCATE_CODE_BASE (CONFIG_PHY_IRAM_BASE \
+ + CONFIG_SEC_IRAM_SIZE)
+
+/*
+ * Low Power settings
+ */
+#define CONFIG_LOWPOWER_FLAG 0x02020028
+#define CONFIG_LOWPOWER_ADDR 0x0202002C
+#define CONFIG_LOWPOWER_EN 0xc9cfcfcf
+
+/*
+ * CPU State Settings
+ */
+#define CONFIG_CPU_STATE (CONFIG_EXYNOS_RELOCATE_CODE_BASE + 0x28)
+#define CONFIG_GIC_STATE (CONFIG_EXYNOS_RELOCATE_CODE_BASE + 0x38)
+
+#define CONFIG_CPU0_STATE (CONFIG_CPU_STATE + 0x0)
+#define CONFIG_CPU1_STATE (CONFIG_CPU_STATE + 0x4)
+#define CONFIG_CPU2_STATE (CONFIG_CPU_STATE + 0x8)
+#define CONFIG_CPU3_STATE (CONFIG_CPU_STATE + 0xC)
+
+#define RESET (1 << 0)
+#define SECONDARY_RESET (1 << 1)
+
#endif /* __CONFIG_EXYNOS5_COMMON_H */
--
1.9.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs
2015-01-15 13:33 ` [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs Akshay Saraswat
@ 2015-01-16 6:31 ` Minkyu Kang
2015-01-28 4:09 ` Simon Glass
1 sibling, 0 replies; 7+ messages in thread
From: Minkyu Kang @ 2015-01-16 6:31 UTC (permalink / raw)
To: u-boot
On 15/01/15 22:33, Akshay Saraswat wrote:
> This patch adds "iRAM, CPU state and low power" configs
> which are the addresses acting as flag registers.
>
> iROM code checks CONFIG_LOWPOWER_FLAG address. If it is equal
> to CONFIG_LOWPOWER_EN then it jumps to the address (0x02020000+CPUID*4).
> This is a part of iROM logic. Rest other flags are being used at
> various places during kernel switching and reset.
> They are nowhere documented because they are part programming.
> These configs are serving as flags for us because they are
> representing the addresses in iRAM which we are using for
> storing and extracting CPU Status and GIC status.
>
> Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
> ---
> include/configs/exynos5-common.h | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/include/configs/exynos5-common.h b/include/configs/exynos5-common.h
> index ad63f3c..831bfd3 100644
> --- a/include/configs/exynos5-common.h
> +++ b/include/configs/exynos5-common.h
> @@ -231,4 +231,32 @@
> MEM_LAYOUT_ENV_SETTINGS \
> BOOTENV
>
> +/* iRAM */
> +#define CONFIG_PHY_IRAM_BASE 0x02020000
> +#define CONFIG_SEC_IRAM_SIZE 0x53000 /* 332KB */
> +
> +#define CONFIG_EXYNOS_RELOCATE_CODE_BASE (CONFIG_PHY_IRAM_BASE \
> + + CONFIG_SEC_IRAM_SIZE)
> +
> +/*
> + * Low Power settings
> + */
> +#define CONFIG_LOWPOWER_FLAG 0x02020028
> +#define CONFIG_LOWPOWER_ADDR 0x0202002C
> +#define CONFIG_LOWPOWER_EN 0xc9cfcfcf
> +
> +/*
> + * CPU State Settings
> + */
> +#define CONFIG_CPU_STATE (CONFIG_EXYNOS_RELOCATE_CODE_BASE + 0x28)
> +#define CONFIG_GIC_STATE (CONFIG_EXYNOS_RELOCATE_CODE_BASE + 0x38)
> +
> +#define CONFIG_CPU0_STATE (CONFIG_CPU_STATE + 0x0)
> +#define CONFIG_CPU1_STATE (CONFIG_CPU_STATE + 0x4)
> +#define CONFIG_CPU2_STATE (CONFIG_CPU_STATE + 0x8)
> +#define CONFIG_CPU3_STATE (CONFIG_CPU_STATE + 0xC)
> +
> +#define RESET (1 << 0)
> +#define SECONDARY_RESET (1 << 1)
> +
These two defines looks very common.
Please modify the name.
Thanks,
Minkyu Kang.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 00/11] Add support for booting multiple cores
2015-01-15 13:33 [U-Boot] [PATCH 00/11] Add support for booting multiple cores Akshay Saraswat
2015-01-15 13:33 ` [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs Akshay Saraswat
@ 2015-01-20 22:33 ` Kevin Hilman
1 sibling, 0 replies; 7+ messages in thread
From: Kevin Hilman @ 2015-01-20 22:33 UTC (permalink / raw)
To: u-boot
Akshay Saraswat <akshay.s@samsung.com> writes:
> This patch series introduces changes for booting secondary CPUs
> on Exynos5420 and Exynos5800.
Thanks for this series. I think this should help get the odroid-xu3
behave better with the mainline linux kernel (assuming I can get it
working with mainline u-boot/SPL.)
Are you testing this on mainline u-boot?
Can you describe what platforms you've tested this on and whether or not
those platforms are using secure firmware?
Kevin
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 00/11] Add support for booting multiple cores
@ 2015-01-21 5:31 Akshay Saraswat
2015-01-28 4:12 ` Simon Glass
0 siblings, 1 reply; 7+ messages in thread
From: Akshay Saraswat @ 2015-01-21 5:31 UTC (permalink / raw)
To: u-boot
Hi Kevin,
>
>Akshay Saraswat <akshay.s@samsung.com> writes:
>
>> This patch series introduces changes for booting secondary CPUs
>> on Exynos5420 and Exynos5800.
>
>Thanks for this series. I think this should help get the odroid-xu3
>behave better with the mainline linux kernel (assuming I can get it
>working with mainline u-boot/SPL.)
>
>Are you testing this on mainline u-boot?
>
Yes, this series is based on mainline u-boot-samsung git.
>Can you describe what platforms you've tested this on and whether or not
>those platforms are using secure firmware?
I have tested these patches on Chromebook-2 11 and 13 inch having Exynos 5420
and Exynos 5800 respectively. Not sure of how Odroid-xu3 will behave with this
set because I don't have that platform and never tested it.
>
>Kevin
Regards,
Akshay Saraswat
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs
2015-01-15 13:33 ` [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs Akshay Saraswat
2015-01-16 6:31 ` Minkyu Kang
@ 2015-01-28 4:09 ` Simon Glass
1 sibling, 0 replies; 7+ messages in thread
From: Simon Glass @ 2015-01-28 4:09 UTC (permalink / raw)
To: u-boot
On 15 January 2015 at 06:33, Akshay Saraswat <akshay.s@samsung.com> wrote:
> This patch adds "iRAM, CPU state and low power" configs
> which are the addresses acting as flag registers.
>
> iROM code checks CONFIG_LOWPOWER_FLAG address. If it is equal
> to CONFIG_LOWPOWER_EN then it jumps to the address (0x02020000+CPUID*4).
> This is a part of iROM logic. Rest other flags are being used at
> various places during kernel switching and reset.
> They are nowhere documented because they are part programming.
> These configs are serving as flags for us because they are
> representing the addresses in iRAM which we are using for
> storing and extracting CPU Status and GIC status.
>
> Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
> ---
> include/configs/exynos5-common.h | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested on snow, pit, pi
Tested-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [U-Boot] [PATCH 00/11] Add support for booting multiple cores
2015-01-21 5:31 Akshay Saraswat
@ 2015-01-28 4:12 ` Simon Glass
0 siblings, 0 replies; 7+ messages in thread
From: Simon Glass @ 2015-01-28 4:12 UTC (permalink / raw)
To: u-boot
Hi,
On 20 January 2015 at 22:31, Akshay Saraswat <akshay.s@samsung.com> wrote:
> Hi Kevin,
>
>>
>>Akshay Saraswat <akshay.s@samsung.com> writes:
>>
>>> This patch series introduces changes for booting secondary CPUs
>>> on Exynos5420 and Exynos5800.
>>
>>Thanks for this series. I think this should help get the odroid-xu3
>>behave better with the mainline linux kernel (assuming I can get it
>>working with mainline u-boot/SPL.)
>>
>>Are you testing this on mainline u-boot?
>>
>
> Yes, this series is based on mainline u-boot-samsung git.
>
>>Can you describe what platforms you've tested this on and whether or not
>>those platforms are using secure firmware?
>
> I have tested these patches on Chromebook-2 11 and 13 inch having Exynos 5420
> and Exynos 5800 respectively. Not sure of how Odroid-xu3 will behave with this
> set because I don't have that platform and never tested it.
Let's get all the outstanding Pit/Pi patches merged ASAP. Then the
Odroid-xu3 people can send a few patches to make use of this / fix
anything that is needed. We still have plenty of time to resolve any
problems.
Also I have an XU3 for testing if that helps. Although the nasty BL1
problem makes it a tricky platform to use so far.
Regards,
Simon
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-01-28 4:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-15 13:33 [U-Boot] [PATCH 00/11] Add support for booting multiple cores Akshay Saraswat
2015-01-15 13:33 ` [U-Boot] [PATCH 01/11] Exynos542x: Config: Add various configs Akshay Saraswat
2015-01-16 6:31 ` Minkyu Kang
2015-01-28 4:09 ` Simon Glass
2015-01-20 22:33 ` [U-Boot] [PATCH 00/11] Add support for booting multiple cores Kevin Hilman
-- strict thread matches above, loose matches on Subject: below --
2015-01-21 5:31 Akshay Saraswat
2015-01-28 4:12 ` Simon Glass
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox