Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Ingenic: Add system type for new Ingenic SoCs.

Add JZ4730, JZ4750, JZ4755, JZ4760, JZ4760B, X2000H, and X2100 system
type for cat /proc/cpuinfo to give out JZ4730, JZ4750, JZ4755, JZ4760,
JZ4760B, X2000H, and X2100.

Signed-off-by: 周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

authored by

周琰杰 (Zhou Yanjie) and committed by
Thomas Bogendoerfer
14d72af7 e73f0f0e

+26 -2
+21
arch/mips/generic/board-ingenic.c
··· 21 21 static __init char *ingenic_get_system_type(unsigned long machtype) 22 22 { 23 23 switch (machtype) { 24 + case MACH_INGENIC_X2100: 25 + return "X2100"; 26 + case MACH_INGENIC_X2000H: 27 + return "X2000H"; 24 28 case MACH_INGENIC_X2000E: 25 29 return "X2000E"; 26 30 case MACH_INGENIC_X2000: ··· 41 37 return "JZ4775"; 42 38 case MACH_INGENIC_JZ4770: 43 39 return "JZ4770"; 40 + case MACH_INGENIC_JZ4760B: 41 + return "JZ4760B"; 42 + case MACH_INGENIC_JZ4760: 43 + return "JZ4760"; 44 + case MACH_INGENIC_JZ4755: 45 + return "JZ4755"; 46 + case MACH_INGENIC_JZ4750: 47 + return "JZ4750"; 44 48 case MACH_INGENIC_JZ4725B: 45 49 return "JZ4725B"; 50 + case MACH_INGENIC_JZ4730: 51 + return "JZ4730"; 46 52 default: 47 53 return "JZ4740"; 48 54 } ··· 75 61 } 76 62 77 63 static const struct of_device_id ingenic_of_match[] __initconst = { 64 + { .compatible = "ingenic,jz4730", .data = (void *)MACH_INGENIC_JZ4730 }, 78 65 { .compatible = "ingenic,jz4740", .data = (void *)MACH_INGENIC_JZ4740 }, 79 66 { .compatible = "ingenic,jz4725b", .data = (void *)MACH_INGENIC_JZ4725B }, 67 + { .compatible = "ingenic,jz4750", .data = (void *)MACH_INGENIC_JZ4750 }, 68 + { .compatible = "ingenic,jz4755", .data = (void *)MACH_INGENIC_JZ4755 }, 69 + { .compatible = "ingenic,jz4760", .data = (void *)MACH_INGENIC_JZ4760 }, 70 + { .compatible = "ingenic,jz4760b", .data = (void *)MACH_INGENIC_JZ4760B }, 80 71 { .compatible = "ingenic,jz4770", .data = (void *)MACH_INGENIC_JZ4770 }, 81 72 { .compatible = "ingenic,jz4775", .data = (void *)MACH_INGENIC_JZ4775 }, 82 73 { .compatible = "ingenic,jz4780", .data = (void *)MACH_INGENIC_JZ4780 }, ··· 90 71 { .compatible = "ingenic,x1830", .data = (void *)MACH_INGENIC_X1830 }, 91 72 { .compatible = "ingenic,x2000", .data = (void *)MACH_INGENIC_X2000 }, 92 73 { .compatible = "ingenic,x2000e", .data = (void *)MACH_INGENIC_X2000E }, 74 + { .compatible = "ingenic,x2000h", .data = (void *)MACH_INGENIC_X2000H }, 75 + { .compatible = "ingenic,x2100", .data = (void *)MACH_INGENIC_X2100 }, 93 76 {} 94 77 }; 95 78
+3
arch/mips/include/asm/bootinfo.h
··· 75 75 MACH_INGENIC_JZ4750, 76 76 MACH_INGENIC_JZ4755, 77 77 MACH_INGENIC_JZ4760, 78 + MACH_INGENIC_JZ4760B, 78 79 MACH_INGENIC_JZ4770, 79 80 MACH_INGENIC_JZ4775, 80 81 MACH_INGENIC_JZ4780, ··· 84 83 MACH_INGENIC_X1830, 85 84 MACH_INGENIC_X2000, 86 85 MACH_INGENIC_X2000E, 86 + MACH_INGENIC_X2000H, 87 + MACH_INGENIC_X2100, 87 88 }; 88 89 89 90 extern char *system_type;
+2 -2
arch/mips/include/asm/cpu.h
··· 46 46 #define PRID_COMP_NETLOGIC 0x0c0000 47 47 #define PRID_COMP_CAVIUM 0x0d0000 48 48 #define PRID_COMP_LOONGSON 0x140000 49 - #define PRID_COMP_INGENIC_13 0x130000 /* X2000 */ 50 - #define PRID_COMP_INGENIC_D0 0xd00000 /* JZ4740, JZ4750, X1830 */ 49 + #define PRID_COMP_INGENIC_13 0x130000 /* X2000, X2100 */ 50 + #define PRID_COMP_INGENIC_D0 0xd00000 /* JZ4730, JZ4740, JZ4750, JZ4755, JZ4760, X1830 */ 51 51 #define PRID_COMP_INGENIC_D1 0xd10000 /* JZ4770, JZ4775, X1000 */ 52 52 #define PRID_COMP_INGENIC_E1 0xe10000 /* JZ4780 */ 53 53