ARM: ux500: reform Ux500 family names
Counting the U9540 and the new U8540 as a U8500 family member does not work. Instead, split the function in two: cpu_is_u8500_family() covering U8500 and U8520 cpu_is_ux540_family() covering U9540 and U8540 This works much better in practice. Update users to keep the same behaviour. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
a4d9b33be0
Коммит
e1bbb55d11
|
@ -38,7 +38,7 @@ static int __init ux500_l2x0_init(void)
|
||||||
{
|
{
|
||||||
u32 aux_val = 0x3e000000;
|
u32 aux_val = 0x3e000000;
|
||||||
|
|
||||||
if (cpu_is_u8500_family())
|
if (cpu_is_u8500_family() || cpu_is_ux540_family())
|
||||||
l2x0_base = __io_address(U8500_L2CC_BASE);
|
l2x0_base = __io_address(U8500_L2CC_BASE);
|
||||||
else
|
else
|
||||||
ux500_unknown_soc();
|
ux500_unknown_soc();
|
||||||
|
|
|
@ -80,7 +80,7 @@ void __init u8500_map_io(void)
|
||||||
|
|
||||||
iotable_init(u8500_common_io_desc, ARRAY_SIZE(u8500_common_io_desc));
|
iotable_init(u8500_common_io_desc, ARRAY_SIZE(u8500_common_io_desc));
|
||||||
|
|
||||||
if (cpu_is_u9540())
|
if (cpu_is_ux540_family())
|
||||||
iotable_init(u9540_io_desc, ARRAY_SIZE(u9540_io_desc));
|
iotable_init(u9540_io_desc, ARRAY_SIZE(u9540_io_desc));
|
||||||
else
|
else
|
||||||
iotable_init(u8500_io_desc, ARRAY_SIZE(u8500_io_desc));
|
iotable_init(u8500_io_desc, ARRAY_SIZE(u8500_io_desc));
|
||||||
|
|
|
@ -51,7 +51,7 @@ void __init ux500_init_irq(void)
|
||||||
void __iomem *dist_base;
|
void __iomem *dist_base;
|
||||||
void __iomem *cpu_base;
|
void __iomem *cpu_base;
|
||||||
|
|
||||||
if (cpu_is_u8500_family()) {
|
if (cpu_is_u8500_family() || cpu_is_ux540_family()) {
|
||||||
dist_base = __io_address(U8500_GIC_DIST_BASE);
|
dist_base = __io_address(U8500_GIC_DIST_BASE);
|
||||||
cpu_base = __io_address(U8500_GIC_CPU_BASE);
|
cpu_base = __io_address(U8500_GIC_CPU_BASE);
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -46,14 +46,24 @@ static inline bool __attribute_const__ cpu_is_u8520(void)
|
||||||
return dbx500_partnumber() == 0x8520;
|
return dbx500_partnumber() == 0x8520;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline bool cpu_is_u8500_family(void)
|
||||||
|
{
|
||||||
|
return cpu_is_u8500() || cpu_is_u8520();
|
||||||
|
}
|
||||||
|
|
||||||
static inline bool __attribute_const__ cpu_is_u9540(void)
|
static inline bool __attribute_const__ cpu_is_u9540(void)
|
||||||
{
|
{
|
||||||
return dbx500_partnumber() == 0x9540;
|
return dbx500_partnumber() == 0x9540;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool cpu_is_u8500_family(void)
|
static inline bool __attribute_const__ cpu_is_u8540(void)
|
||||||
{
|
{
|
||||||
return cpu_is_u8500() || cpu_is_u9540();
|
return dbx500_partnumber() == 0x8540;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline bool cpu_is_ux540_family(void)
|
||||||
|
{
|
||||||
|
return cpu_is_u9540() || cpu_is_u8540();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -97,12 +107,7 @@ static inline bool cpu_is_u8500v21(void)
|
||||||
|
|
||||||
static inline bool cpu_is_u8500v20_or_later(void)
|
static inline bool cpu_is_u8500v20_or_later(void)
|
||||||
{
|
{
|
||||||
/*
|
return (cpu_is_u8500() && !cpu_is_u8500v10() && !cpu_is_u8500v11());
|
||||||
* U9540 has so much in common with U8500 that is is considered a
|
|
||||||
* U8500 variant.
|
|
||||||
*/
|
|
||||||
return cpu_is_u9540() ||
|
|
||||||
(cpu_is_u8500() && !cpu_is_u8500v10() && !cpu_is_u8500v11());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool ux500_is_svp(void)
|
static inline bool ux500_is_svp(void)
|
||||||
|
|
|
@ -48,7 +48,7 @@ static void write_pen_release(int val)
|
||||||
|
|
||||||
static void __iomem *scu_base_addr(void)
|
static void __iomem *scu_base_addr(void)
|
||||||
{
|
{
|
||||||
if (cpu_is_u8500_family())
|
if (cpu_is_u8500_family() || cpu_is_ux540_family())
|
||||||
return __io_address(U8500_SCU_BASE);
|
return __io_address(U8500_SCU_BASE);
|
||||||
else
|
else
|
||||||
ux500_unknown_soc();
|
ux500_unknown_soc();
|
||||||
|
|
Загрузка…
Ссылка в новой задаче