From mboxrd@z Thu Jan 1 00:00:00 1970 From: Przemyslaw Marczak Date: Thu, 27 Aug 2015 12:23:24 +0200 Subject: [U-Boot] Exynos 5800/5422 CPU ID inconsistency. In-Reply-To: <1440622584.4135.388.camel@collabora.co.uk> References: <55DDBAA6.6080307@samsung.com> <1440622584.4135.388.camel@collabora.co.uk> Message-ID: <55DEE51C.7040605@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Sjoerd, On 08/26/2015 10:56 PM, Sjoerd Simons wrote: > On Wed, 2015-08-26 at 06:37 -0700, Simon Glass wrote: >> Hi Przemyslaw, >> >> On 26 August 2015 at 06:09, Przemyslaw Marczak >> wrote: >>> 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. > > 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 - 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, -- Przemyslaw Marczak Samsung R&D Institute Poland Samsung Electronics p.marczak at samsung.com