[U-Boot] [PATCH V3 02/14] s5p: cpu_info: print "cpu-model" if exists in dts

Anand Moon linux.amoon at gmail.com
Fri Oct 30 04:01:38 CET 2015


Hi

On 27 October 2015 at 17:37, Przemyslaw Marczak <p.marczak at 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.marczak at samsung.com>
> Cc: Minkyu Kang <mk7.kang at samsung.com>
> Cc: Simon Glass <sjg at 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.amoon at gmail.com>

-Anand Moon


More information about the U-Boot mailing list