Hi On 27 October 2015 at 17:37, Przemyslaw Marczak <p.marc...@samsung.com> wrote: > The CPU name for Exynos was concatenated with cpu id, > but for new Exynos platforms, like Chromebook Peach Pi > based on Exynos5800, the name of SoC variant does not > include the real SoC cpu id (0x5422). > > For such case, the CPU name should be defined in device tree. > > This commit introduces new device-tree property for Exynos: > - "cpu-model" - with cpu name string > If defined, then the cpu id is not printed. > > Signed-off-by: Przemyslaw Marczak <p.marc...@samsung.com> > Cc: Minkyu Kang <mk7.k...@samsung.com> > Cc: Simon Glass <s...@chromium.org> > --- > Changes V2: > - new commit > Changes V3 > - add cpu-model binding info > --- > arch/arm/cpu/armv7/s5p-common/cpu_info.c | 14 +++++++++++++- > doc/device-tree-bindings/exynos/soc.txt | 21 +++++++++++++++++++++ > 2 files changed, 34 insertions(+), 1 deletion(-) > create mode 100644 doc/device-tree-bindings/exynos/soc.txt > > diff --git a/arch/arm/cpu/armv7/s5p-common/cpu_info.c > b/arch/arm/cpu/armv7/s5p-common/cpu_info.c > index 154d674..764c661 100644 > --- a/arch/arm/cpu/armv7/s5p-common/cpu_info.c > +++ b/arch/arm/cpu/armv7/s5p-common/cpu_info.c > @@ -5,9 +5,12 @@ > * SPDX-License-Identifier: GPL-2.0+ > */ > #include <common.h> > +#include <fdtdec.h> > #include <asm/io.h> > #include <asm/arch/clk.h> > > +DECLARE_GLOBAL_DATA_PTR; > + > /* Default is s5pc100 */ > unsigned int s5p_cpu_id = 0xC100; > /* Default is EVT1 */ > @@ -30,7 +33,16 @@ u32 get_device_type(void) > #ifdef CONFIG_DISPLAY_CPUINFO > int print_cpuinfo(void) > { > - printf("CPU: %s%X @ ", s5p_get_cpu_name(), s5p_cpu_id); > + const char *cpu_model; > + int len; > + > + /* For SoC with no real CPU ID in naming convention. */ > + cpu_model = fdt_getprop(gd->fdt_blob, 0, "cpu-model", &len); > + if (cpu_model) > + printf("CPU: %.*s @ ", len, cpu_model); > + else > + printf("CPU: %s%X @ ", s5p_get_cpu_name(), s5p_cpu_id); > + > print_freq(get_arm_clk(), "\n"); > > return 0; > diff --git a/doc/device-tree-bindings/exynos/soc.txt > b/doc/device-tree-bindings/exynos/soc.txt > new file mode 100644 > index 0000000..9ba6f3b > --- /dev/null > +++ b/doc/device-tree-bindings/exynos/soc.txt > @@ -0,0 +1,21 @@ > +Exynos SoC model > + > +The "cpu-model" property is a non-standard extension for the device tree root > +node. Since the cpu id of some Exynos variants does not correspond to product > +name, this property fills the gap. > + > +For almost all Exynos based boards in the kernel, the product name > corresponds > +to the device tree file name. The same name is generated in U-Boot, so the > new > +property allows doing it automatically. > + > +Required properties: > + - cpu-model : Exynos product name > + > +Example: > + > +/ { > + model = "Samsung/Google Peach Pi board based on Exynos5800"; > + cpu-model = "Exynos5800"; > + > + compatible = ... > +}; > -- > 1.9.1 >
Tested-by: Anand Moon <linux.am...@gmail.com> -Anand Moon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot