[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