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

Commit 4390f5b2 authored by Hemant Pedanekar's avatar Hemant Pedanekar Committed by Tony Lindgren
Browse files

ARM: OMAP: TI814X: Add cpu type macros and detection support



This patch adds cpu type, macros for identification of TI814X device.

Signed-off-by: default avatarHemant Pedanekar <hemantp@ti.com>
[tony@atomide.com: left out CK_TI814X for now]
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent a920360f
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -3519,6 +3519,8 @@ int __init omap3xxx_clk_init(void)
		cpu_clkflg = CK_TI816X;
		cpu_clkflg = CK_TI816X;
	} else if (cpu_is_am33xx()) {
	} else if (cpu_is_am33xx()) {
		cpu_mask = RATE_IN_AM33XX;
		cpu_mask = RATE_IN_AM33XX;
	} else if (cpu_is_ti814x()) {
		cpu_mask = RATE_IN_TI814X;
	} else if (cpu_is_omap34xx()) {
	} else if (cpu_is_omap34xx()) {
		if (omap_rev() == OMAP3430_REV_ES1_0) {
		if (omap_rev() == OMAP3430_REV_ES1_0) {
			cpu_mask = RATE_IN_3430ES1;
			cpu_mask = RATE_IN_3430ES1;
+21 −0
Original line number Original line Diff line number Diff line
@@ -343,6 +343,25 @@ static void __init omap3_check_revision(const char **cpu_rev)
	case 0xb944:
	case 0xb944:
		omap_revision = AM335X_REV_ES1_0;
		omap_revision = AM335X_REV_ES1_0;
		*cpu_rev = "1.0";
		*cpu_rev = "1.0";
	case 0xb8f2:
		switch (rev) {
		case 0:
		/* FALLTHROUGH */
		case 1:
			omap_revision = TI8148_REV_ES1_0;
			*cpu_rev = "1.0";
			break;
		case 2:
			omap_revision = TI8148_REV_ES2_0;
			*cpu_rev = "2.0";
			break;
		case 3:
		/* FALLTHROUGH */
		default:
			omap_revision = TI8148_REV_ES2_1;
			*cpu_rev = "2.1";
			break;
		}
		break;
		break;
	default:
	default:
		/* Unknown default to latest silicon rev as default */
		/* Unknown default to latest silicon rev as default */
@@ -449,6 +468,8 @@ static void __init omap3_cpuinfo(const char *cpu_rev)
		cpu_name = "TI816X";
		cpu_name = "TI816X";
	} else if (cpu_is_am335x()) {
	} else if (cpu_is_am335x()) {
		cpu_name =  "AM335X";
		cpu_name =  "AM335X";
	} else if (cpu_is_ti814x()) {
		cpu_name = "TI814X";
	} else if (omap3_has_iva() && omap3_has_sgx()) {
	} else if (omap3_has_iva() && omap3_has_sgx()) {
		/* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */
		/* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */
		cpu_name = "OMAP3430/3530";
		cpu_name = "OMAP3430/3530";
+1 −0
Original line number Original line Diff line number Diff line
@@ -60,6 +60,7 @@ struct clkops {
#define RATE_IN_TI816X		(1 << 6)
#define RATE_IN_TI816X		(1 << 6)
#define RATE_IN_4460		(1 << 7)
#define RATE_IN_4460		(1 << 7)
#define RATE_IN_AM33XX		(1 << 8)
#define RATE_IN_AM33XX		(1 << 8)
#define RATE_IN_TI814X		(1 << 9)


#define RATE_IN_24XX		(RATE_IN_242X | RATE_IN_243X)
#define RATE_IN_24XX		(RATE_IN_242X | RATE_IN_243X)
#define RATE_IN_34XX		(RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS)
#define RATE_IN_34XX		(RATE_IN_3430ES1 | RATE_IN_3430ES2PLUS)
+9 −0
Original line number Original line Diff line number Diff line
@@ -134,6 +134,7 @@ IS_OMAP_SUBCLASS(446x, 0x446)
IS_OMAP_SUBCLASS(447x, 0x447)
IS_OMAP_SUBCLASS(447x, 0x447)


IS_TI_SUBCLASS(816x, 0x816)
IS_TI_SUBCLASS(816x, 0x816)
IS_TI_SUBCLASS(814x, 0x814)
IS_AM_SUBCLASS(335x, 0x335)
IS_AM_SUBCLASS(335x, 0x335)


#define cpu_is_omap7xx()		0
#define cpu_is_omap7xx()		0
@@ -146,6 +147,7 @@ IS_AM_SUBCLASS(335x, 0x335)
#define cpu_is_omap343x()		0
#define cpu_is_omap343x()		0
#define cpu_is_ti81xx()			0
#define cpu_is_ti81xx()			0
#define cpu_is_ti816x()			0
#define cpu_is_ti816x()			0
#define cpu_is_ti814x()			0
#define cpu_is_am33xx()			0
#define cpu_is_am33xx()			0
#define cpu_is_am335x()			0
#define cpu_is_am335x()			0
#define cpu_is_omap44xx()		0
#define cpu_is_omap44xx()		0
@@ -356,6 +358,7 @@ IS_OMAP_TYPE(3517, 0x3517)
# undef cpu_is_omap3517
# undef cpu_is_omap3517
# undef cpu_is_ti81xx
# undef cpu_is_ti81xx
# undef cpu_is_ti816x
# undef cpu_is_ti816x
# undef cpu_is_ti814x
# undef cpu_is_am33xx
# undef cpu_is_am33xx
# undef cpu_is_am335x
# undef cpu_is_am335x
# define cpu_is_omap3430()		is_omap3430()
# define cpu_is_omap3430()		is_omap3430()
@@ -376,6 +379,7 @@ IS_OMAP_TYPE(3517, 0x3517)
# define cpu_is_omap3630()		is_omap363x()
# define cpu_is_omap3630()		is_omap363x()
# define cpu_is_ti81xx()		is_ti81xx()
# define cpu_is_ti81xx()		is_ti81xx()
# define cpu_is_ti816x()		is_ti816x()
# define cpu_is_ti816x()		is_ti816x()
# define cpu_is_ti814x()		is_ti814x()
# define cpu_is_am33xx()		is_am33xx()
# define cpu_is_am33xx()		is_am33xx()
# define cpu_is_am335x()		is_am335x()
# define cpu_is_am335x()		is_am335x()
#endif
#endif
@@ -426,6 +430,11 @@ IS_OMAP_TYPE(3517, 0x3517)
#define TI8168_REV_ES1_0	TI816X_CLASS
#define TI8168_REV_ES1_0	TI816X_CLASS
#define TI8168_REV_ES1_1	(TI816X_CLASS | (0x1 << 8))
#define TI8168_REV_ES1_1	(TI816X_CLASS | (0x1 << 8))


#define TI814X_CLASS		0x81400034
#define TI8148_REV_ES1_0	TI814X_CLASS
#define TI8148_REV_ES2_0	(TI814X_CLASS | (0x1 << 8))
#define TI8148_REV_ES2_1	(TI814X_CLASS | (0x2 << 8))

#define AM335X_CLASS		0x33500034
#define AM335X_CLASS		0x33500034
#define AM335X_REV_ES1_0	AM335X_CLASS
#define AM335X_REV_ES1_0	AM335X_CLASS