Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b23170c0 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[ARM] pxa: introduce cpu_is_pxaXXX macros

parent 7a2b94bc
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -448,16 +448,14 @@ static struct platform_device *devices[] __initdata = {

static int __init pxa_init(void)
{
	int cpuid, ret;
	int ret;

	ret = platform_add_devices(devices, ARRAY_SIZE(devices));
	if (ret)
		return ret;

	/* Only add HWUART for PXA255/26x; PXA210/250/27x do not have it. */
	cpuid = read_cpuid(CPUID_ID);
	if (((cpuid >> 4) & 0xfff) == 0x2d0 ||
	    ((cpuid >> 4) & 0xfff) == 0x290)
	if (cpu_is_pxa25x())
		ret = platform_device_register(&hwuart_device);

	return ret;
+36 −0
Original line number Diff line number Diff line
@@ -62,6 +62,42 @@

#ifndef __ASSEMBLY__

#define __cpu_is_pxa21x(id)				\
	({						\
		unsigned int _id = (id) >> 4 & 0xf3f;	\
		_id == 0x212;				\
	})

#define __cpu_is_pxa25x(id)				\
	({						\
		unsigned int _id = (id) >> 4 & 0xfff;	\
		_id == 0x2d0 || _id == 0x290;		\
	})

#define __cpu_is_pxa27x(id)				\
	({						\
		unsigned int _id = (id) >> 4 & 0xfff;	\
		_id == 0x411;				\
	})

#define cpu_is_pxa21x()					\
	({						\
		unsigned int id = read_cpuid(CPUID_ID);	\
		__cpu_is_pxa21x(id);			\
	})

#define cpu_is_pxa25x()					\
	({						\
		unsigned int id = read_cpuid(CPUID_ID);	\
		__cpu_is_pxa25x(id);			\
	})

#define cpu_is_pxa27x()					\
	({						\
		unsigned int id = read_cpuid(CPUID_ID);	\
		__cpu_is_pxa27x(id);			\
	})

/*
 * Handy routine to set GPIO alternate functions
 */