[PATCH] ARM: exynos: add machine description for ODROID-XU3/4

Krzysztof Kozlowski krzk at kernel.org
Sun Nov 19 23:37:21 PST 2017


On Sun, Nov 19, 2017 at 6:21 PM, Tobias Jakobi
<tjakobi at math.uni-bielefeld.de> wrote:
> I don't think this approach scales at all. DietPi can just read the devicetree
> through sysfs and retrieve the compatible and/or model of the base node.

Exactly, do not add new machines just for reading DT. Use
/sys/firmware/devicetree/base/compatible for this.

Best regards,
Krzysztof

> - Tobias
>
> Dongjin Kim wrote:
>> This patch is to add the machine descriptions for ODROID-XU3/4 boards
>> in order to present the hardware name at /proc/cputinfo rather than
>> "SAMSUNG EXYNOS (Flattened Device Tree)". An embedded open source project,
>> such as DietPi, reads the hardware name to run different features.
>>
>>       $ cat /proc/cpuinfo | grep Hardware
>>       Hardware        : ODROID-XU4
>>
>> Signed-off-by: Dongjin Kim <tobetter at gmail.com>
>> ---
>>  arch/arm/mach-exynos/exynos.c | 28 ++++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c
>> index c404c15ad07f..6197dbf9f48b 100644
>> --- a/arch/arm/mach-exynos/exynos.c
>> +++ b/arch/arm/mach-exynos/exynos.c
>> @@ -241,3 +241,31 @@ DT_MACHINE_START(EXYNOS_DT, "SAMSUNG EXYNOS (Flattened Device Tree)")
>>       .dt_compat      = exynos_dt_compat,
>>       .dt_fixup       = exynos_dt_fixup,
>>  MACHINE_END
>> +
>> +#define ODROID_MACHINE_START(name, compat)                   \
>> +     DT_MACHINE_START(EXYNOS5422_ODROID_##name, "ODROID-"#name)      \
>> +             .l2c_aux_val    = 0x3c400001,                   \
>> +             .l2c_aux_mask   = 0xc20fffff,                   \
>> +             .smp            = smp_ops(exynos_smp_ops),      \
>> +             .map_io         = exynos_init_io,               \
>> +             .init_early     = exynos_firmware_init,         \
>> +             .init_irq       = exynos_init_irq,              \
>> +             .init_machine   = exynos_dt_machine_init,       \
>> +             .init_late      = exynos_init_late,             \
>> +             .dt_compat      = compat,                       \
>> +             .dt_fixup       = exynos_dt_fixup,              \
>> +     MACHINE_END
>> +
>> +static char const *const exynos5422_odroidxu3_dt_compat[] __initconst = {
>> +     "hardkernel,odroid-xu3",
>> +     "hardkernel,odroid-xu3-lite",
>> +     NULL,
>> +};
>> +
>> +static char const *const exynos5422_odroidxu4_dt_compat[] __initconst = {
>> +     "hardkernel,odroid-xu4",
>> +     NULL,
>> +};
>> +
>> +ODROID_MACHINE_START(XU3, exynos5422_odroidxu3_dt_compat)
>> +ODROID_MACHINE_START(XU4, exynos5422_odroidxu4_dt_compat)
>>
>



More information about the linux-arm-kernel mailing list