octeon: remove 3.18 support
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> SVN-Revision: 47474
This commit is contained in:
		| @@ -1,250 +0,0 @@ | |||||||
| CONFIG_64BIT=y |  | ||||||
| CONFIG_64BIT_PHYS_ADDR=y |  | ||||||
| CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE=y |  | ||||||
| CONFIG_ARCH_DISCARD_MEMBLOCK=y |  | ||||||
| CONFIG_ARCH_DMA_ADDR_T_64BIT=y |  | ||||||
| CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y |  | ||||||
| # CONFIG_ARCH_HAS_SG_CHAIN is not set |  | ||||||
| CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y |  | ||||||
| CONFIG_ARCH_HIBERNATION_POSSIBLE=y |  | ||||||
| CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y |  | ||||||
| CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y |  | ||||||
| CONFIG_ARCH_PHYS_ADDR_T_64BIT=y |  | ||||||
| CONFIG_ARCH_REQUIRE_GPIOLIB=y |  | ||||||
| CONFIG_ARCH_SPARSEMEM_ENABLE=y |  | ||||||
| CONFIG_ARCH_SUSPEND_POSSIBLE=y |  | ||||||
| CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y |  | ||||||
| CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y |  | ||||||
| CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y |  | ||||||
| CONFIG_BINFMT_ELF32=y |  | ||||||
| CONFIG_BLK_DEV_SD=y |  | ||||||
| CONFIG_BLOCK_COMPAT=y |  | ||||||
| # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set |  | ||||||
| CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 |  | ||||||
| CONFIG_BUILTIN_DTB=y |  | ||||||
| # CONFIG_CAVIUM_CN63XXP1 is not set |  | ||||||
| # CONFIG_CAVIUM_OCTEON_2ND_KERNEL is not set |  | ||||||
| CONFIG_CAVIUM_OCTEON_CVMSEG_SIZE=2 |  | ||||||
| CONFIG_CAVIUM_OCTEON_LOCK_L2=y |  | ||||||
| CONFIG_CAVIUM_OCTEON_LOCK_L2_EXCEPTION=y |  | ||||||
| CONFIG_CAVIUM_OCTEON_LOCK_L2_INTERRUPT=y |  | ||||||
| CONFIG_CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT=y |  | ||||||
| CONFIG_CAVIUM_OCTEON_LOCK_L2_MEMCPY=y |  | ||||||
| CONFIG_CAVIUM_OCTEON_LOCK_L2_TLB=y |  | ||||||
| CONFIG_CAVIUM_OCTEON_SOC=y |  | ||||||
| CONFIG_CC_OPTIMIZE_FOR_SIZE=y |  | ||||||
| CONFIG_CEVT_R4K=y |  | ||||||
| CONFIG_CLONE_BACKWARDS=y |  | ||||||
| CONFIG_COMPAT=y |  | ||||||
| CONFIG_COMPAT_BRK=y |  | ||||||
| CONFIG_COMPAT_NETLINK_MESSAGES=y |  | ||||||
| CONFIG_CPU_BIG_ENDIAN=y |  | ||||||
| CONFIG_CPU_CAVIUM_OCTEON=y |  | ||||||
| CONFIG_CPU_GENERIC_DUMP_TLB=y |  | ||||||
| CONFIG_CPU_HAS_PREFETCH=y |  | ||||||
| CONFIG_CPU_HAS_SYNC=y |  | ||||||
| CONFIG_CPU_MIPSR2=y |  | ||||||
| CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y |  | ||||||
| CONFIG_CPU_RMAP=y |  | ||||||
| CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y |  | ||||||
| CONFIG_CPU_SUPPORTS_HIGHMEM=y |  | ||||||
| CONFIG_CPU_SUPPORTS_HUGEPAGES=y |  | ||||||
| CONFIG_CRAMFS=y |  | ||||||
| CONFIG_CRC16=y |  | ||||||
| CONFIG_CRYPTO_CRC32C=y |  | ||||||
| CONFIG_CRYPTO_HASH=y |  | ||||||
| CONFIG_CRYPTO_HASH2=y |  | ||||||
| CONFIG_DEBUG_INFO=y |  | ||||||
| CONFIG_DEBUG_SPINLOCK=y |  | ||||||
| CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 |  | ||||||
| CONFIG_DETECT_HUNG_TASK=y |  | ||||||
| CONFIG_DEVKMEM=y |  | ||||||
| CONFIG_DMA_COHERENT=y |  | ||||||
| CONFIG_DNOTIFY=y |  | ||||||
| CONFIG_DTC=y |  | ||||||
| CONFIG_EARLY_PRINTK=y |  | ||||||
| CONFIG_EDAC_SUPPORT=y |  | ||||||
| CONFIG_ENABLE_MUST_CHECK=y |  | ||||||
| CONFIG_EXT4_FS=y |  | ||||||
| CONFIG_FAT_FS=y |  | ||||||
| CONFIG_FRAME_WARN=2048 |  | ||||||
| CONFIG_FS_MBCACHE=y |  | ||||||
| CONFIG_GENERIC_CLOCKEVENTS=y |  | ||||||
| CONFIG_GENERIC_CLOCKEVENTS_BUILD=y |  | ||||||
| CONFIG_GENERIC_CMOS_UPDATE=y |  | ||||||
| CONFIG_GENERIC_IO=y |  | ||||||
| CONFIG_GENERIC_IRQ_SHOW=y |  | ||||||
| CONFIG_GENERIC_PCI_IOMAP=y |  | ||||||
| CONFIG_GENERIC_SMP_IDLE_THREAD=y |  | ||||||
| CONFIG_GPIOLIB=y |  | ||||||
| CONFIG_GPIO_DEVRES=y |  | ||||||
| CONFIG_GPIO_OCTEON=y |  | ||||||
| CONFIG_GPIO_SYSFS=y |  | ||||||
| CONFIG_HARDWARE_WATCHPOINTS=y |  | ||||||
| CONFIG_HAS_DMA=y |  | ||||||
| CONFIG_HAS_IOMEM=y |  | ||||||
| CONFIG_HAS_IOPORT_MAP=y |  | ||||||
| CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y |  | ||||||
| CONFIG_HAVE_ARCH_JUMP_LABEL=y |  | ||||||
| CONFIG_HAVE_ARCH_KGDB=y |  | ||||||
| CONFIG_HAVE_ARCH_SECCOMP_FILTER=y |  | ||||||
| CONFIG_HAVE_ARCH_TRACEHOOK=y |  | ||||||
| CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y |  | ||||||
| # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set |  | ||||||
| CONFIG_HAVE_BPF_JIT=y |  | ||||||
| CONFIG_HAVE_CC_STACKPROTECTOR=y |  | ||||||
| CONFIG_HAVE_CONTEXT_TRACKING=y |  | ||||||
| CONFIG_HAVE_C_RECORDMCOUNT=y |  | ||||||
| CONFIG_HAVE_DEBUG_KMEMLEAK=y |  | ||||||
| CONFIG_HAVE_DEBUG_STACKOVERFLOW=y |  | ||||||
| CONFIG_HAVE_DMA_API_DEBUG=y |  | ||||||
| CONFIG_HAVE_DMA_ATTRS=y |  | ||||||
| CONFIG_HAVE_DMA_CONTIGUOUS=y |  | ||||||
| CONFIG_HAVE_DYNAMIC_FTRACE=y |  | ||||||
| CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y |  | ||||||
| CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |  | ||||||
| CONFIG_HAVE_FUNCTION_TRACER=y |  | ||||||
| CONFIG_HAVE_GENERIC_DMA_COHERENT=y |  | ||||||
| CONFIG_HAVE_IDE=y |  | ||||||
| CONFIG_HAVE_MEMBLOCK=y |  | ||||||
| CONFIG_HAVE_MEMBLOCK_NODE_MAP=y |  | ||||||
| CONFIG_HAVE_MEMORY_PRESENT=y |  | ||||||
| CONFIG_HAVE_MOD_ARCH_SPECIFIC=y |  | ||||||
| CONFIG_HAVE_NET_DSA=y |  | ||||||
| CONFIG_HAVE_OPROFILE=y |  | ||||||
| CONFIG_HAVE_PERF_EVENTS=y |  | ||||||
| CONFIG_HAVE_SYSCALL_TRACEPOINTS=y |  | ||||||
| CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y |  | ||||||
| # CONFIG_HIGH_RES_TIMERS is not set |  | ||||||
| CONFIG_HOLES_IN_ZONE=y |  | ||||||
| # CONFIG_HUGETLBFS is not set |  | ||||||
| CONFIG_HW_HAS_PCI=y |  | ||||||
| CONFIG_HW_RANDOM=y |  | ||||||
| CONFIG_HW_RANDOM_OCTEON=y |  | ||||||
| CONFIG_HZ=250 |  | ||||||
| # CONFIG_HZ_100 is not set |  | ||||||
| CONFIG_HZ_250=y |  | ||||||
| CONFIG_HZ_PERIODIC=y |  | ||||||
| CONFIG_IMAGE_CMDLINE_HACK=y |  | ||||||
| CONFIG_INITRAMFS_SOURCE="" |  | ||||||
| CONFIG_IOMMU_HELPER=y |  | ||||||
| CONFIG_IRQCHIP=y |  | ||||||
| CONFIG_IRQ_DOMAIN=y |  | ||||||
| CONFIG_IRQ_FORCED_THREADING=y |  | ||||||
| CONFIG_IRQ_WORK=y |  | ||||||
| CONFIG_JBD2=y |  | ||||||
| CONFIG_KALLSYMS=y |  | ||||||
| CONFIG_KEXEC=y |  | ||||||
| CONFIG_LIBFDT=y |  | ||||||
| CONFIG_MDIO_BOARDINFO=y |  | ||||||
| CONFIG_MDIO_OCTEON=y |  | ||||||
| CONFIG_MIPS=y |  | ||||||
| CONFIG_MIPS32_COMPAT=y |  | ||||||
| CONFIG_MIPS32_N32=y |  | ||||||
| CONFIG_MIPS32_O32=y |  | ||||||
| # CONFIG_MIPS_HUGE_TLB_SUPPORT is not set |  | ||||||
| CONFIG_MIPS_L1_CACHE_SHIFT=7 |  | ||||||
| CONFIG_MIPS_L1_CACHE_SHIFT_7=y |  | ||||||
| # CONFIG_MIPS_MACHINE is not set |  | ||||||
| CONFIG_MIPS_PGD_C0_CONTEXT=y |  | ||||||
| CONFIG_MMC=y |  | ||||||
| CONFIG_MMC_BLOCK=y |  | ||||||
| CONFIG_MMC_OCTEON=y |  | ||||||
| # CONFIG_MMC_TIFM_SD is not set |  | ||||||
| CONFIG_MODULES_USE_ELF_REL=y |  | ||||||
| CONFIG_MODULES_USE_ELF_RELA=y |  | ||||||
| CONFIG_MTD_BLOCK2MTD=y |  | ||||||
| # CONFIG_MTD_CFI_INTELEXT is not set |  | ||||||
| CONFIG_MTD_CMDLINE_PARTS=y |  | ||||||
| # CONFIG_MTD_COMPLEX_MAPPINGS is not set |  | ||||||
| CONFIG_MTD_PHYSMAP=y |  | ||||||
| CONFIG_NEED_SG_DMA_LENGTH=y |  | ||||||
| CONFIG_NET_FLOW_LIMIT=y |  | ||||||
| CONFIG_NLS=y |  | ||||||
| CONFIG_NLS_CODEPAGE_437=y |  | ||||||
| CONFIG_NLS_ISO8859_1=y |  | ||||||
| CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y |  | ||||||
| # CONFIG_NO_IOPORT_MAP is not set |  | ||||||
| CONFIG_NR_CPUS=16 |  | ||||||
| CONFIG_NR_CPUS_DEFAULT_16=y |  | ||||||
| CONFIG_OCTEON_ETHERNET=y |  | ||||||
| # CONFIG_OCTEON_ILM is not set |  | ||||||
| CONFIG_OCTEON_MGMT_ETHERNET=y |  | ||||||
| CONFIG_OCTEON_USB=y |  | ||||||
| CONFIG_OCTEON_WDT=y |  | ||||||
| CONFIG_OF=y |  | ||||||
| CONFIG_OF_ADDRESS=y |  | ||||||
| CONFIG_OF_ADDRESS_PCI=y |  | ||||||
| CONFIG_OF_EARLY_FLATTREE=y |  | ||||||
| CONFIG_OF_FLATTREE=y |  | ||||||
| CONFIG_OF_GPIO=y |  | ||||||
| CONFIG_OF_IRQ=y |  | ||||||
| CONFIG_OF_MDIO=y |  | ||||||
| CONFIG_OF_MTD=y |  | ||||||
| CONFIG_OF_NET=y |  | ||||||
| CONFIG_OF_PCI=y |  | ||||||
| CONFIG_OF_PCI_IRQ=y |  | ||||||
| CONFIG_PAGEFLAGS_EXTENDED=y |  | ||||||
| # CONFIG_PARTITION_ADVANCED is not set |  | ||||||
| CONFIG_PCI=y |  | ||||||
| CONFIG_PCI_DOMAINS=y |  | ||||||
| CONFIG_PERF_USE_VMALLOC=y |  | ||||||
| CONFIG_PHYLIB=y |  | ||||||
| CONFIG_PHYS_ADDR_T_64BIT=y |  | ||||||
| CONFIG_POSIX_MQUEUE=y |  | ||||||
| CONFIG_POSIX_MQUEUE_SYSCTL=y |  | ||||||
| # CONFIG_PREEMPT_RCU is not set |  | ||||||
| CONFIG_PROC_PAGE_MONITOR=y |  | ||||||
| CONFIG_RCU_STALL_COMMON=y |  | ||||||
| CONFIG_RELAY=y |  | ||||||
| CONFIG_RFS_ACCEL=y |  | ||||||
| CONFIG_RPS=y |  | ||||||
| CONFIG_SCHED_DEBUG=y |  | ||||||
| CONFIG_SCSI=y |  | ||||||
| CONFIG_SECCOMP=y |  | ||||||
| CONFIG_SECCOMP_FILTER=y |  | ||||||
| CONFIG_SERIAL_8250_DW=y |  | ||||||
| CONFIG_SMP=y |  | ||||||
| CONFIG_SPARSEMEM=y |  | ||||||
| CONFIG_SPARSEMEM_STATIC=y |  | ||||||
| CONFIG_STOP_MACHINE=y |  | ||||||
| CONFIG_SWAP_IO_SPACE=y |  | ||||||
| CONFIG_SWIOTLB=y |  | ||||||
| CONFIG_SYSFS_DEPRECATED=y |  | ||||||
| CONFIG_SYSFS_DEPRECATED_V2=y |  | ||||||
| CONFIG_SYSVIPC_COMPAT=y |  | ||||||
| CONFIG_SYS_HAS_CPU_CAVIUM_OCTEON=y |  | ||||||
| CONFIG_SYS_HAS_DMA_OPS=y |  | ||||||
| CONFIG_SYS_HAS_EARLY_PRINTK=y |  | ||||||
| CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y |  | ||||||
| CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |  | ||||||
| CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y |  | ||||||
| CONFIG_SYS_SUPPORTS_HOTPLUG_CPU=y |  | ||||||
| CONFIG_SYS_SUPPORTS_HUGETLBFS=y |  | ||||||
| CONFIG_SYS_SUPPORTS_SMP=y |  | ||||||
| CONFIG_TICK_CPU_ACCOUNTING=y |  | ||||||
| CONFIG_TREE_RCU=y |  | ||||||
| CONFIG_UNINLINE_SPIN_UNLOCK=y |  | ||||||
| CONFIG_USB=y |  | ||||||
| CONFIG_USB_COMMON=y |  | ||||||
| CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y |  | ||||||
| CONFIG_USB_EHCI_HCD=y |  | ||||||
| # CONFIG_USB_EHCI_HCD_PLATFORM is not set |  | ||||||
| CONFIG_USB_EHCI_PCI=y |  | ||||||
| CONFIG_USB_OCTEON2_COMMON=y |  | ||||||
| CONFIG_USB_OCTEON_EHCI=y |  | ||||||
| CONFIG_USB_OCTEON_OHCI=y |  | ||||||
| CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y |  | ||||||
| CONFIG_USB_OHCI_HCD=y |  | ||||||
| # CONFIG_USB_OHCI_HCD_PLATFORM is not set |  | ||||||
| CONFIG_USB_STORAGE=y |  | ||||||
| CONFIG_USB_SUPPORT=y |  | ||||||
| # CONFIG_USB_UHCI_HCD is not set |  | ||||||
| CONFIG_USE_OF=y |  | ||||||
| CONFIG_VFAT_FS=y |  | ||||||
| CONFIG_VM_EVENT_COUNTERS=y |  | ||||||
| CONFIG_WEAK_ORDERING=y |  | ||||||
| CONFIG_XPS=y |  | ||||||
| CONFIG_ZLIB_INFLATE=y |  | ||||||
| CONFIG_ZONE_DMA32=y |  | ||||||
| CONFIG_ZONE_DMA_FLAG=0 |  | ||||||
| @@ -1,31 +0,0 @@ | |||||||
| --- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h |  | ||||||
| +++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h |  | ||||||
| @@ -228,6 +228,8 @@ enum cvmx_board_types_enum { |  | ||||||
|  	 */ |  | ||||||
|  	CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001, |  | ||||||
|  	CVMX_BOARD_TYPE_UBNT_E100 = 20002, |  | ||||||
| +	CVMX_BOARD_TYPE_UBNT_E200 = 20003, |  | ||||||
| +	CVMX_BOARD_TYPE_UBNT_E220 = 20005, |  | ||||||
|  	CVMX_BOARD_TYPE_CUST_DSR1000N = 20006, |  | ||||||
|  	CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000, |  | ||||||
|   |  | ||||||
| @@ -328,6 +330,8 @@ static inline const char *cvmx_board_typ |  | ||||||
|  		    /* Customer private range */ |  | ||||||
|  		ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN) |  | ||||||
|  		ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100) |  | ||||||
| +		ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200) |  | ||||||
| +		ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E220) |  | ||||||
|  		ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N) |  | ||||||
|  		ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX) |  | ||||||
|  	} |  | ||||||
| --- a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c |  | ||||||
| +++ b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c |  | ||||||
| @@ -195,6 +195,8 @@ int cvmx_helper_board_get_mii_address(in |  | ||||||
|  			return 8; |  | ||||||
|  		else |  | ||||||
|  			return -1; |  | ||||||
| +	case CVMX_BOARD_TYPE_UBNT_E200: |  | ||||||
| +		return -1; |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
|  	/* Some unknown board. Somebody forgot to update this function... */ |  | ||||||
| @@ -1,34 +0,0 @@ | |||||||
| --- a/drivers/staging/octeon/ethernet.c |  | ||||||
| +++ b/drivers/staging/octeon/ethernet.c |  | ||||||
| @@ -620,6 +620,7 @@ static int cvm_oct_probe(struct platform |  | ||||||
|  	int interface; |  | ||||||
|  	int fau = FAU_NUM_PACKET_BUFFERS_TO_FREE; |  | ||||||
|  	int qos; |  | ||||||
| +	int i; |  | ||||||
|  	struct device_node *pip; |  | ||||||
|   |  | ||||||
|  	octeon_mdiobus_force_mod_depencency(); |  | ||||||
| @@ -705,13 +706,19 @@ static int cvm_oct_probe(struct platform |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
|  	num_interfaces = cvmx_helper_get_number_of_interfaces(); |  | ||||||
| -	for (interface = 0; interface < num_interfaces; interface++) { |  | ||||||
| -		cvmx_helper_interface_mode_t imode = |  | ||||||
| -		    cvmx_helper_interface_get_mode(interface); |  | ||||||
| -		int num_ports = cvmx_helper_ports_on_interface(interface); |  | ||||||
| +	for (i = 0; i < num_interfaces; i++) { |  | ||||||
| +		cvmx_helper_interface_mode_t imode; |  | ||||||
| +		int interface; |  | ||||||
| +		int num_ports; |  | ||||||
|  		int port; |  | ||||||
|  		int port_index; |  | ||||||
|   |  | ||||||
| +		interface = i; |  | ||||||
| +		if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_UBNT_E200) |  | ||||||
| +			interface = num_interfaces - (i + 1); |  | ||||||
| + |  | ||||||
| +		num_ports = cvmx_helper_ports_on_interface(interface); |  | ||||||
| +		imode = cvmx_helper_interface_get_mode(interface); |  | ||||||
|  		for (port_index = 0, |  | ||||||
|  		     port = cvmx_helper_get_ipd_port(interface, 0); |  | ||||||
|  		     port < cvmx_helper_get_ipd_port(interface, num_ports); |  | ||||||
| @@ -1,20 +0,0 @@ | |||||||
| --- a/arch/mips/cavium-octeon/octeon-platform.c |  | ||||||
| +++ b/arch/mips/cavium-octeon/octeon-platform.c |  | ||||||
| @@ -82,7 +82,7 @@ static int __init octeon_ehci_device_ini |  | ||||||
|  	}; |  | ||||||
|   |  | ||||||
|  	/* Only Octeon2 has ehci/ohci */ |  | ||||||
| -	if (!OCTEON_IS_MODEL(OCTEON_CN63XX)) |  | ||||||
| +	if (!OCTEON_IS_MODEL(OCTEON_CN6XXX)) |  | ||||||
|  		return 0; |  | ||||||
|   |  | ||||||
|  	if (octeon_is_simulation() || usb_disabled()) |  | ||||||
| @@ -131,7 +131,7 @@ static int __init octeon_ohci_device_ini |  | ||||||
|  	}; |  | ||||||
|   |  | ||||||
|  	/* Only Octeon2 has ehci/ohci */ |  | ||||||
| -	if (!OCTEON_IS_MODEL(OCTEON_CN63XX)) |  | ||||||
| +	if (!OCTEON_IS_MODEL(OCTEON_CN6XXX)) |  | ||||||
|  		return 0; |  | ||||||
|   |  | ||||||
|  	if (octeon_is_simulation() || usb_disabled()) |  | ||||||
| @@ -1,21 +0,0 @@ | |||||||
| --- a/arch/mips/cavium-octeon/setup.c |  | ||||||
| +++ b/arch/mips/cavium-octeon/setup.c |  | ||||||
| @@ -50,6 +50,9 @@ extern void pci_console_init(const char |  | ||||||
|   |  | ||||||
|  static unsigned long long MAX_MEMORY = 512ull << 20; |  | ||||||
|   |  | ||||||
| +DEFINE_SEMAPHORE(octeon_bootbus_sem); |  | ||||||
| +EXPORT_SYMBOL(octeon_bootbus_sem); |  | ||||||
| + |  | ||||||
|  struct octeon_boot_descriptor *octeon_boot_desc_ptr; |  | ||||||
|   |  | ||||||
|  struct cvmx_bootinfo *octeon_bootinfo; |  | ||||||
| --- a/arch/mips/include/asm/octeon/octeon.h |  | ||||||
| +++ b/arch/mips/include/asm/octeon/octeon.h |  | ||||||
| @@ -252,4 +252,6 @@ void octeon_irq_set_ip4_handler(octeon_i |  | ||||||
|   |  | ||||||
|  extern void octeon_fixup_irqs(void); |  | ||||||
|   |  | ||||||
| +extern struct semaphore octeon_bootbus_sem; |  | ||||||
| + |  | ||||||
|  #endif /* __ASM_OCTEON_OCTEON_H */ |  | ||||||
| @@ -1,103 +0,0 @@ | |||||||
| --- a/arch/mips/include/asm/octeon/octeon-model.h |  | ||||||
| +++ b/arch/mips/include/asm/octeon/octeon-model.h |  | ||||||
| @@ -45,6 +45,7 @@ |  | ||||||
|   */ |  | ||||||
|   |  | ||||||
|  #define OCTEON_FAMILY_MASK	0x00ffff00 |  | ||||||
| +#define OCTEON_PRID_MASK	0x00ffffff |  | ||||||
|   |  | ||||||
|  /* Flag bits in top byte */ |  | ||||||
|  /* Ignores revision in model checks */ |  | ||||||
| @@ -63,6 +64,46 @@ |  | ||||||
|  #define OM_MATCH_6XXX_FAMILY_MODELS	0x40000000 |  | ||||||
|  /* Match all cnf7XXX Octeon models. */ |  | ||||||
|  #define OM_MATCH_F7XXX_FAMILY_MODELS	0x80000000 |  | ||||||
| +/* Match all cn7XXX Octeon models. */ |  | ||||||
| +#define OM_MATCH_7XXX_FAMILY_MODELS     0x10000000 |  | ||||||
| +#define OM_MATCH_FAMILY_MODELS		(OM_MATCH_5XXX_FAMILY_MODELS |	\ |  | ||||||
| +					 OM_MATCH_6XXX_FAMILY_MODELS |	\ |  | ||||||
| +					 OM_MATCH_F7XXX_FAMILY_MODELS | \ |  | ||||||
| +					 OM_MATCH_7XXX_FAMILY_MODELS) |  | ||||||
| +/* |  | ||||||
| + * CN7XXX models with new revision encoding |  | ||||||
| + */ |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN73XX_PASS1_0	0x000d9700 |  | ||||||
| +#define OCTEON_CN73XX		(OCTEON_CN73XX_PASS1_0 | OM_IGNORE_REVISION) |  | ||||||
| +#define OCTEON_CN73XX_PASS1_X	(OCTEON_CN73XX_PASS1_0 | \ |  | ||||||
| +				 OM_IGNORE_MINOR_REVISION) |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN70XX_PASS1_0	0x000d9600 |  | ||||||
| +#define OCTEON_CN70XX_PASS1_1	0x000d9601 |  | ||||||
| +#define OCTEON_CN70XX_PASS1_2	0x000d9602 |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN70XX_PASS2_0	0x000d9608 |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN70XX		(OCTEON_CN70XX_PASS1_0 | OM_IGNORE_REVISION) |  | ||||||
| +#define OCTEON_CN70XX_PASS1_X	(OCTEON_CN70XX_PASS1_0 | \ |  | ||||||
| +				 OM_IGNORE_MINOR_REVISION) |  | ||||||
| +#define OCTEON_CN70XX_PASS2_X	(OCTEON_CN70XX_PASS2_0 | \ |  | ||||||
| +				 OM_IGNORE_MINOR_REVISION) |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN71XX		OCTEON_CN70XX |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN78XX_PASS1_0	0x000d9500 |  | ||||||
| +#define OCTEON_CN78XX_PASS1_1	0x000d9501 |  | ||||||
| +#define OCTEON_CN78XX_PASS2_0	0x000d9508 |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN78XX		(OCTEON_CN78XX_PASS1_0 | OM_IGNORE_REVISION) |  | ||||||
| +#define OCTEON_CN78XX_PASS1_X	(OCTEON_CN78XX_PASS1_0 | \ |  | ||||||
| +				 OM_IGNORE_MINOR_REVISION) |  | ||||||
| +#define OCTEON_CN78XX_PASS2_X	(OCTEON_CN78XX_PASS2_0 | \ |  | ||||||
| +				 OM_IGNORE_MINOR_REVISION) |  | ||||||
| + |  | ||||||
| +#define OCTEON_CN76XX		(0x000d9540 | OM_CHECK_SUBMODEL) |  | ||||||
|   |  | ||||||
|  /* |  | ||||||
|   * CNF7XXX models with new revision encoding |  | ||||||
| @@ -217,6 +258,10 @@ |  | ||||||
|  #define OCTEON_CN3XXX		(OCTEON_CN58XX_PASS1_0 | OM_MATCH_PREVIOUS_MODELS | OM_IGNORE_REVISION) |  | ||||||
|  #define OCTEON_CN5XXX		(OCTEON_CN58XX_PASS1_0 | OM_MATCH_5XXX_FAMILY_MODELS) |  | ||||||
|  #define OCTEON_CN6XXX		(OCTEON_CN63XX_PASS1_0 | OM_MATCH_6XXX_FAMILY_MODELS) |  | ||||||
| +#define OCTEON_CNF7XXX		(OCTEON_CNF71XX_PASS1_0 | \ |  | ||||||
| +				 OM_MATCH_F7XXX_FAMILY_MODELS) |  | ||||||
| +#define OCTEON_CN7XXX		(OCTEON_CN78XX_PASS1_0 | \ |  | ||||||
| +				 OM_MATCH_7XXX_FAMILY_MODELS) |  | ||||||
|   |  | ||||||
|  /* These are used to cover entire families of OCTEON processors */ |  | ||||||
|  #define OCTEON_FAM_1		(OCTEON_CN3XXX) |  | ||||||
| @@ -288,9 +333,16 @@ static inline uint64_t cvmx_read_csr(uin |  | ||||||
|  		((((arg_model) & (OM_FLAG_MASK)) == OM_CHECK_SUBMODEL)	\ |  | ||||||
|  			&& __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_58XX_MODEL_REV_MASK)) || \ |  | ||||||
|  		((((arg_model) & (OM_MATCH_5XXX_FAMILY_MODELS)) == OM_MATCH_5XXX_FAMILY_MODELS) \ |  | ||||||
| -			&& ((chip_model) >= OCTEON_CN58XX_PASS1_0) && ((chip_model) < OCTEON_CN63XX_PASS1_0)) || \ |  | ||||||
| +			&& ((chip_model & OCTEON_PRID_MASK) >= OCTEON_CN58XX_PASS1_0) \ |  | ||||||
| +			&& ((chip_model & OCTEON_PRID_MASK) < OCTEON_CN63XX_PASS1_0)) || \ |  | ||||||
|  		((((arg_model) & (OM_MATCH_6XXX_FAMILY_MODELS)) == OM_MATCH_6XXX_FAMILY_MODELS) \ |  | ||||||
| -			&& ((chip_model) >= OCTEON_CN63XX_PASS1_0)) ||	\ |  | ||||||
| +			&& ((chip_model & OCTEON_PRID_MASK) >= OCTEON_CN63XX_PASS1_0) \ |  | ||||||
| +			&& ((chip_model & OCTEON_PRID_MASK) < OCTEON_CNF71XX_PASS1_0)) || \ |  | ||||||
| +		((((arg_model) & (OM_MATCH_F7XXX_FAMILY_MODELS)) == OM_MATCH_F7XXX_FAMILY_MODELS) \ |  | ||||||
| +			&& ((chip_model & OCTEON_PRID_MASK) >= OCTEON_CNF71XX_PASS1_0) \ |  | ||||||
| +			&& ((chip_model & OCTEON_PRID_MASK) < OCTEON_CN78XX_PASS1_0)) || \ |  | ||||||
| +		((((arg_model) & (OM_MATCH_7XXX_FAMILY_MODELS)) == OM_MATCH_7XXX_FAMILY_MODELS) \ |  | ||||||
| +			&& ((chip_model & OCTEON_PRID_MASK) >= OCTEON_CN78XX_PASS1_0)) || \ |  | ||||||
|  		((((arg_model) & (OM_MATCH_PREVIOUS_MODELS)) == OM_MATCH_PREVIOUS_MODELS) \ |  | ||||||
|  			&& (((chip_model) & OCTEON_58XX_MODEL_MASK) < ((arg_model) & OCTEON_58XX_MODEL_MASK))) \ |  | ||||||
|  		))) |  | ||||||
| @@ -326,6 +378,15 @@ static inline int __octeon_is_model_runt |  | ||||||
|  #define OCTEON_IS_COMMON_BINARY() 1 |  | ||||||
|  #undef OCTEON_MODEL |  | ||||||
|   |  | ||||||
| +#define OCTEON_IS_OCTEON1()	OCTEON_IS_MODEL(OCTEON_CN3XXX) |  | ||||||
| +#define OCTEON_IS_OCTEONPLUS()	OCTEON_IS_MODEL(OCTEON_CN5XXX) |  | ||||||
| +#define OCTEON_IS_OCTEON2()						\ |  | ||||||
| +	(OCTEON_IS_MODEL(OCTEON_CN6XXX) || OCTEON_IS_MODEL(OCTEON_CNF71XX)) |  | ||||||
| + |  | ||||||
| +#define OCTEON_IS_OCTEON3()	OCTEON_IS_MODEL(OCTEON_CN7XXX) |  | ||||||
| + |  | ||||||
| +#define OCTEON_IS_OCTEON1PLUS()	(OCTEON_IS_OCTEON1() || OCTEON_IS_OCTEONPLUS()) |  | ||||||
| + |  | ||||||
|  const char *octeon_model_get_string(uint32_t chip_id); |  | ||||||
|  const char *octeon_model_get_string_buffer(uint32_t chip_id, char *buffer); |  | ||||||
|   |  | ||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,47 +0,0 @@ | |||||||
| --- a/arch/mips/cavium-octeon/setup.c |  | ||||||
| +++ b/arch/mips/cavium-octeon/setup.c |  | ||||||
| @@ -609,6 +609,35 @@ void octeon_user_io_init(void) |  | ||||||
|  	write_c0_derraddr1(0); |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| +#ifdef CONFIG_IMAGE_CMDLINE_HACK |  | ||||||
| +extern char __image_cmdline[]; |  | ||||||
| + |  | ||||||
| +static int __init octeon_use_image_cmdline(void) |  | ||||||
| +{ |  | ||||||
| +       char *p = __image_cmdline; |  | ||||||
| +       int replace = 0; |  | ||||||
| + |  | ||||||
| +       if (*p == '-') { |  | ||||||
| +               replace = 1; |  | ||||||
| +               p++; |  | ||||||
| +       } |  | ||||||
| + |  | ||||||
| +       if (*p == '\0') |  | ||||||
| +               return 0; |  | ||||||
| + |  | ||||||
| +       if (replace) { |  | ||||||
| +               strlcpy(arcs_cmdline, p, sizeof(arcs_cmdline)); |  | ||||||
| +       } else { |  | ||||||
| +               strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline)); |  | ||||||
| +               strlcat(arcs_cmdline, p, sizeof(arcs_cmdline)); |  | ||||||
| +       } |  | ||||||
| + |  | ||||||
| +       return 1; |  | ||||||
| +} |  | ||||||
| +#else |  | ||||||
| +static inline int octeon_use_image_cmdline(void) { return 0; } |  | ||||||
| +#endif |  | ||||||
| + |  | ||||||
|  /** |  | ||||||
|   * Early entry point for arch setup |  | ||||||
|   */ |  | ||||||
| @@ -798,6 +827,8 @@ void __init prom_init(void) |  | ||||||
|  		} |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| +	octeon_use_image_cmdline(); |  | ||||||
| + |  | ||||||
|  	if (strstr(arcs_cmdline, "console=") == NULL) { |  | ||||||
|  #ifdef CONFIG_CAVIUM_OCTEON_2ND_KERNEL |  | ||||||
|  		strcat(arcs_cmdline, " console=ttyS0,115200"); |  | ||||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau