Exynos 5800/5422 CPU ID inconsistency.
Hello,
The s5p_cpu_id variable is set in here:arch/arm/mach-exynos/include/mach/cpu.h
For value 0x422, found in pro id register, the s5p_cpu_id is set as 0x5800. I think, that hiding the real info is wrong and misleading.
I don't have documentation for E5800, but maybe there is some additional register like package id to recognise the SoC variant.
I'm pointing this issue, because for older boards, we used this information to set the $fdtfile environment variable name, to next load proper fdt from partition before boot the kernel.
Now, I would like use the s5p_cpu_id to set the fdtfile name for Odroid XU3/4, but the value is bad.
I would like fix this value to the real one, but then, the CPU name will change on Chromebooks.
To fix this we could add "cpu-name" property to device tree, and then print it.
What do you think about this?
Best regards,
Signature · 4 lines
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com
Hi Przemyslaw,
Quoted 18 lines · Przemyslaw Marczak
Hello,
The
s5p_cpu_idvariable is set in here:arch/arm/mach-exynos/include/mach/cpu.hFor value
0x422, found in pro id register, thes5p_cpu_idis set as0x5800. I think, that hiding the real info is wrong and misleading.I don't have documentation for E5800, but maybe there is some additional register like package id to recognise the SoC variant.
I'm pointing this issue, because for older boards, we used this information to set the $fdtfile environment variable name, to next load proper fdt from partition before boot the kernel.
Now, I would like use the
s5p_cpu_idto set the fdtfile name for Odroid XU3/4, but the value is bad.
Quoted 7 lines
I would like fix this value to the real one, but then, the CPU name will change on Chromebooks.
To fix this we could add "cpu-name" property to device tree, and then print it.
What do you think about this?
That seems fine to me.
Regards,
Simon
Quoted 34 lines · Simon Glass
Hi Przemyslaw,
On 26 August 2015 at 06:09, Przemyslaw Marczak <[email protected]
Quoted 31 lines
wrote:
Hello,The
s5p_cpu_idvariable is set in here:arch/arm/mach-exynos/include/mach/cpu.hFor value
0x422, found in pro id register, thes5p_cpu_idis set as0x5800.
I think, that hiding the real info is wrong and misleading.I don't have documentation for E5800, but maybe there is some additional
register like package id to recognise the SoC variant.I'm pointing this issue, because for older boards, we used this information
to set the $fdtfile environment variable name, to next load proper fdt from
partition before boot the kernel.Now, I would like use the
s5p_cpu_idto set the fdtfile name for Odroid
XU3/4, but the value is bad.I would like fix this value to the real one, but then, the CPU name will
change on Chromebooks.To fix this we could add "cpu-name" property to device tree, and then print
it.
I was wondering recently whether there shouldn't simply be a device -tree property with the name of the fdt file as used by linux such there is no need for putting this dynamically together which can be a tad error-prone (as this example shows). (Unfortunately not all boards in linux use the <cpu name>-<board name> convention :/)
Signature · 2 lines
Sjoerd Simons Collabora Ltd.
Hello Sjoerd,
Quoted 36 lines · Sjoerd Simons
Quoted 34 lines · Simon Glass
Hi Przemyslaw,
On 26 August 2015 at 06:09, Przemyslaw Marczak <[email protected]
Quoted 31 lines
wrote:
Hello,The
s5p_cpu_idvariable is set in here:arch/arm/mach-exynos/include/mach/cpu.hFor value
0x422, found in pro id register, thes5p_cpu_idis set as0x5800.
I think, that hiding the real info is wrong and misleading.I don't have documentation for E5800, but maybe there is some additional
register like package id to recognise the SoC variant.I'm pointing this issue, because for older boards, we used this information
to set the $fdtfile environment variable name, to next load proper fdt from
partition before boot the kernel.Now, I would like use the
s5p_cpu_idto set the fdtfile name for Odroid
XU3/4, but the value is bad.I would like fix this value to the real one, but then, the CPU name will
change on Chromebooks.To fix this we could add "cpu-name" property to device tree, and then print
it.
Quoted 7 lines
I was wondering recently whether there shouldn't simply be a device -tree property with the name of the fdt file as used by linux such there is no need for putting this dynamically together which can be a tad error-prone (as this example shows). (Unfortunately not all boards in linux use the <cpu name>-<board name> convention :/)
This could be good for the boards with only one kernel compatible fdt file.
But for Exynos, there can be more than one kernel compatible fdt for a single U-Boot binary like for Odroid XU3/3L/4 or Odroid U3/X2. There are also other platforms with this issue, like imx6 wandboard.
Adding common feature for board detection, may be complicated.
After some quick research, I think that adding "cpu-name" to fdt will look not pretty. Change the name of "cpus" node to the SoC name would be nice, but will break the compatibility with the kernel and U-Boot's UCLASS_CPU driver.
In this case, adding a line:
#define CONFIG_CPU_NAME "Exynos5800"
only to the peach-pi.h seem to be reasonable, because for other Exynos platforms the CPU name is proper.
Best regards,
Signature · 4 lines
Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com