aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2016-05-13MIPS: Flush highmem pages in __flush_dcache_pagePaul Burton1-3/+9
When flush_dcache_page is called on an executable page, that page is about to be provided to userland & we can presume that the icache contains no valid entries for its address range. However if the icache does not fill from the dcache then we cannot presume that the pages content has been written back as far as the memories that the dcache will fill from (ie. L2 or further out). This was being done for lowmem pages, but not for highmem which can lead to icache corruption. Fix this by mapping highmem pages & flushing their content from the dcache in __flush_dcache_page before providing the page to userland, just as is done for lowmem pages. Signed-off-by: Paul Burton <[email protected]> Cc: Lars Persson <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Kirill A. Shutemov <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12720/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Flush dcache for flush_kernel_dcache_pagePaul Burton1-0/+1
The flush_kernel_dcache_page function was previously essentially a nop. This is incorrect for MIPS, where if a page has been modified & either it aliases or it's executable & the icache doesn't fill from dcache then the content needs to be written back from dcache to the next level of the cache hierarchy (which is shared with the icache). Implement this by simply calling flush_dcache_page, treating this kmapped cache flush function (flush_kernel_dcache_page) exactly the same as its non-kmapped counterpart (flush_dcache_page). Signed-off-by: Paul Burton <[email protected]> Cc: Lars Persson <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12719/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: OCTEON: cavium_octeon_defconfig: enable all OCTEON SoC driversAaro Koskinen1-5/+10
Some drivers for SoC provided functionality are missing. Enable to those in defconfig to provide better build/testing coverage. Signed-off-by: Aaro Koskinen <[email protected]> Cc: David Daney <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12750/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Detect DSP v3 supportZubair Lutfullah Kakakhel4-1/+10
DSPv3 is supported on all MIPSr6 systems which indicate support for DSPv2. This doesn't require any changes to the kernel's handling of DSP resources. The patch is to detect support and indicate it in /proc/cpuinfo DSP v3 introduces a new instruction BPOSGE32C Signed-off-by: Zubair Lutfullah Kakakhel <[email protected]> Reviewed-by: Paul Burton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12918/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: cpu: Convert MIPS_CPU_* defs to (1ull << x)James Hogan1-41/+48
The MIPS_CPU_* definitions have now filled the first 32-bits, and are getting longer since they're written in hex without zero padding. Adding my 8 extra MIPS_CPU_* definitions which I haven't upstreamed yet this is getting increasingly ugly as the comments get shifted progressively to the right. Its also error prone, and I've seen this cause mistakes on 3 separate occasions now, not helped by it being a conflict hotspot. Convert all the MIPS_CPU_* definitions to the form (1ull << x). Humans are better at incrementing than shifting. Signed-off-by: James Hogan <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/10045/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: cpu: Alter MIPS_CPU_* definitions to fill gapJames Hogan1-8/+8
The MIPS_CPU_* definitions accidentally missed bits 27..30 when MIPS_CPU_EVA was added, and further definitions have continued from there. Shift all the definitions since MIPS_CPU_EVA right by 4 so there are no gaps. Signed-off-by: James Hogan <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/10044/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: BMIPS: Add early CPU initialization codeFlorian Fainelli3-0/+89
Port the stblinux-3.3 code to perform a bunch of CPU-specific initialization, make it compatible with run-time detection of the CPU, and unroll the brcmstb-specific macros: BDEV_RB(), BDEV_UNSET. The "pref 30" disabling is done as a quirk. This is a preliminary change to allow the use of the "rotr" instruction gated by cpu_has_rixi. Signed-off-by: Florian Fainelli <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12504/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: math-emu: dsemul: Remove an unused bit in ADDIUPC emulationMaciej W. Rozycki1-1/+1
Avoid a reader's confusion, as the calculation is correct either way. Signed-off-by: Maciej W. Rozycki <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12283/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Octeon: Add Octeon III CN7xxx interface detectionZubair Lutfullah Kakakhel1-0/+43
Add basic CN7XXX interface detection. This allows the kernel to boot with ethernet working as it initializes the ethernet ports with SGMII instead of defaulting to RGMII routines. Tested on the utm8 from Rhino Labs with a CN7130. Signed-off-by: Zubair Lutfullah Kakakhel <[email protected]> Acked-by: David Daney <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12376/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Make flush_threadRalf Baechle2-4/+4
Avoids function calls to an empty function. Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Support R_MIPS_PC{16,21,26} rel-style relocsPaul Burton1-1/+50
MIPS32 code uses rel-style relocs, and MIPS32r6 modules may include R_MIPS_PC16, R_MIPS_PC21 & R_MIPS_PC26 relocations. We thus need to support these relocations in order to load MIPS32r6 kernel modules. This patch adds such support, which is similar to the rela-style support in module-rela.c but making use of the implicit addend from the instruction encoding. Signed-off-by: Paul Burton <[email protected]> Cc: Steven J. Hill <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: James Hogan <[email protected]> Cc: Andrew Morton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12435/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Support R_MIPS_PC{21,26} rela-style relocsPaul Burton2-1/+52
MIPS64 code uses rela-style relocs, and MIPS64r6 modules may include the new R_MIPS_PC21 & R_MIPS_PC26 relocations. We thus need to support these relocations in order to load MIPS64r6 kernel modules. They are similar to the existing R_MIPS_PC16 relocation but applying to a wider field. Implement support for them by genericising the existing R_MIPS_PC16 implementation such that it can be used for different field widths, and calling it for all 3 reloc types. Signed-off-by: Paul Burton <[email protected]> Cc: Maciej W. Rozycki <[email protected]> Cc: Kees Cook <[email protected]> Cc: James Hogan <[email protected]> Cc: Alex Smith <[email protected]> Cc: Steven J. Hill <[email protected]> Cc: Andrew Morton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12434/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: module: Make consistent use of pr_*()Steven J. Hill2-9/+6
The module relocation handling code has inconsistent use of printk() and pr_*() functions. Convert printk() calls to use pr_err() and pr_warn(). [[email protected]: Do the same thing in module.c] Signed-off-by: Steven J. Hill <[email protected]> Signed-off-by: James Hogan <[email protected]> Signed-off-by: Paul Burton <[email protected]> Cc: Andrey Konovalov <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: Andrew Morton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12433/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Probe the M6250 CPUPaul Burton1-0/+4
Support probing the M6250 CPU now that cases for handling it have been added where required in the core MIPS kernel code. Signed-off-by: Paul Burton <[email protected]> Cc: Maciej W. Rozycki <[email protected]> Cc: Joshua Kinard <[email protected]> Cc: James Hogan <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12375/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Add M6250 cases to CPU switch statementsPaul Burton2-0/+5
Add casses supporting the M6250 CPU to various switch statements in the core MIPS kernel code that define behaviour dependent upon the CPU. Signed-off-by: Paul Burton <[email protected]> Cc: Joshua Kinard <[email protected]> Cc: Leonid Yegoshin <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: Maciej W. Rozycki <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12374/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Add M6250 PRID & cpu_type_enum valuesPaul Burton1-1/+2
Define the processor ID for the M6250 CPU and add a value to the enum cpu_type_enum for the core. [[email protected]: Fix merge conflict.] Signed-off-by: Paul Burton <[email protected]> Cc: Joshua Kinard <[email protected]> Cc: Leonid Yegoshin <[email protected]> Cc: James Hogan <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12373/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Probe the P6600 corePaul Burton1-0/+4
Support probing the P6600 core now that cases for handling it have been added throughout the core MIPS kernel code. Signed-off-by: Paul Burton <[email protected]> Cc: Maciej W. Rozycki <[email protected]> Cc: Leonid Yegoshin <[email protected]> Cc: James Hogan <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12344/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Add P6600 cases to CPU switch statementsPaul Burton7-0/+12
Add cases supporting the P6600 CPU to various switch statements in core MIPS kernel code that define behaviour dependent upon the CPU. Signed-off-by: Paul Burton <[email protected]> Cc: Maciej W. Rozycki <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Joshua Kinard <[email protected]> Cc: Andrzej Hajda <[email protected]> Cc: Leonid Yegoshin <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: James Hogan <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Petri Gynther <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12343/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Add P6600 PRID & cpu_type_enum valuesPaul Burton1-1/+2
Define the processor ID for the P6600 core and add a value to the enum cpu_type_enum for the core. [[email protected]: Fix merge conflict.] Signed-off-by: Paul Burton <[email protected]> Cc: Joshua Kinard <[email protected]> Cc: Leonid Yegoshin <[email protected]> Cc: James Hogan <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12342/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: <asm/cpu.h>: Reformat to 80 columns.Ralf Baechle1-2/+2
Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: SEAD3 can support MIPS32r6 CPUsPaul Burton1-0/+1
There are CPUs/bitfiles available for use with SEAD3 boards which implement release 6 of the MIPS architecture. Allow building the kernel for such a system. Signed-off-by: Paul Burton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12372/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: smp-cps: Stop printing EJTAG exceptions to UARTPaul Burton1-1/+0
When CONFIG_MIPS_CPS_NS16550 is enabled, some register state is dumped to the UART when an exception is taken via the BEV on secondary cores. EJTAG exceptions are architecturally expected to be handled by the BEV even when Status.BEV is 0. This effectively means that if userland executes an sdbbp instruction on a secondary core then the kernel dumps register state to the UART even though the exception is perfectly normal & expected. Prevent this by simply not dumping information to the UART for EJTAG exceptions. Fixes: 609cf6f2291a ("MIPS: CPS: Early debug using an ns16550-compatible UART") Signed-off-by: Paul Burton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12341/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: smp-cps: Add nothreads kernel parameterPaul Burton1-0/+11
When debugging a new system or core it can be useful to disable the use of multithreading. Introduce a "nothreads" kernel command line parameter that can be set in order to do so. Signed-off-by: Paul Burton <[email protected]> Cc: Matt Redfearn <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Niklas Cassel <[email protected]> Cc: Ezequiel Garcia <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12340/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: smp-cps: Support MIPSr6 Virtual ProcessorsPaul Burton4-9/+85
Introduce support for bringing up Virtual Processors in MIPSr6 systems as CPUs, much like their VPE parallel from the now-deprecated MT ASE. The existing mips_cps_boot_vpes function fits the MIPSr6 architecture pretty well - it can now simply write the mask of running VPs to the VC_RUN register, rather than looping through each & starting or stopping as appropriate as is done for VPEs from the MT ASE. Thus the VP support is in general an extension & simplification of the existing MT ASE VPE (aka SMVP) support. Signed-off-by: Paul Burton <[email protected]> Cc: Matt Redfearn <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Maciej W. Rozycki <[email protected]> Cc: Niklas Cassel <[email protected]> Cc: Ezequiel Garcia <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12339/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: smp-cps: Skip core setup if coherentPaul Burton1-15/+24
In preparation for supporting MIPSr6 multithreading (ie. VPs) which will begin execution from the core reset vector, skip core level setup if the core is already coherent. This is never the case when a core is first started, since boot_core explicitly clears the cores GCR_Cx_COH_EN register, and always the case when secondary VPs start since the first VP to start will have enabled coherence after initialising the core & its caches. One notable side effect of this patch is that eva_init gets called slightly earlier, prior to mips_cps_core_init rather than after it. Signed-off-by: Paul Burton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12338/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: smp-cps: Pull boot config retrieval out of mips_cps_boot_vpesPaul Burton3-31/+52
The mips_cps_boot_vpes function previously included code to retrieve pointers to the core & VPE boot configuration structs. These structures were used both by mips_cps_boot_vpes and by its mips_cps_core_entry callsite. In preparation for skipping the call to mips_cps_boot_vpes on some invocations of mips_cps_core_entry, pull the calculation of those pointers out into a separate function such that it can continue to be shared. Signed-off-by: Paul Burton <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Matt Redfearn <[email protected]> Cc: Niklas Cassel <[email protected]> Cc: Ezequiel Garcia <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12337/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: smp-cps: Pull cache init into a functionPaul Burton1-67/+76
In preparation for further modifications to mips_cps_core_entry, pull the L1 cache initialisation out into a separate function. This both makes the code in mips_cps_core_entry read more clearly, particularly when modifying it, and shortens it which will become important as code is added that needs to continue to fit within the reset vector. Signed-off-by: Paul Burton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12336/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: smp-cps: Ensure our VP ident calculation is correctPaul Burton1-0/+11
When bringing up a CPU, ensure that its local ID as provided by the GIC matches up with our calculation of it. This is vital, since if the condition doesn't hold then we won't have configured interrupts correctly for the VP. Signed-off-by: Paul Burton <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Matt Redfearn <[email protected]> Cc: Niklas Cassel <[email protected]> Cc: Ezequiel Garcia <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12335/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: CM: Fix mips_cm_max_vp_width for UP kernelsPaul Burton1-1/+4
Fix mips_cm_max_vp_width for UP kernels where it previously referenced smp_num_siblings, which is not declared for UP kernels. This led to build errors such as the following: drivers/built-in.o: In function `$L446': irq-mips-gic.c:(.text+0x1994): undefined reference to `smp_num_siblings' drivers/built-in.o:irq-mips-gic.c:(.text+0x199c): more undefined references to `smp_num_siblings' follow On UP kernels simply return 1, leaving the reference to smp_num_siblings in place only for SMP kernels. Signed-off-by: Paul Burton <[email protected]> Cc: Matt Redfearn <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12332/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: CM: Add CM GCR_BEV_BASE accessorsPaul Burton1-0/+1
Generate accessor functions for the GCR_BEV_BASE register introduced by CM3, for use by a later patch. Signed-off-by: Paul Burton <[email protected]> Cc: Matt Redfearn <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12331/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: CPC: Add start, stop and running CM3 CPC registersMarkos Chandras1-0/+3
Add the new CM3 registers for controlling bringing up and powering down VPs on MIPSR6 cores. Signed-off-by: Markos Chandras <[email protected]> Signed-off-by: Paul Burton <[email protected]> Cc: Bjorn Helgaas <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12330/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: pm-cps: Avoid offset overflow on MIPSr6Markos Chandras1-4/+11
This is similar to commit 934c79231c1b ("MIPS: asm: r4kcache: Add MIPS R6 cache unroll functions"). The CACHE instruction has been redefined for MIPSr6 and it reduced its offset field to 8 bits. This leads to micro-assembler field overflow warnings when booting SMP MIPSr6 cores like the following one: Call Trace: [<ffffffff8010af88>] show_stack+0x68/0x88 [<ffffffff8056ddf0>] dump_stack+0x68/0x88 [<ffffffff801305bc>] warn_slowpath_common+0x8c/0xc8 [<ffffffff80130630>] warn_slowpath_fmt+0x38/0x48 [<ffffffff80125814>] build_insn+0x514/0x5c0 [<ffffffff806ee134>] cps_gen_cache_routine.isra.3+0xe0/0x1b8 [<ffffffff806ee570>] cps_pm_init+0x364/0x9ec [<ffffffff80100538>] do_one_initcall+0x90/0x1a8 [<ffffffff806e8c14>] kernel_init_freeable+0x160/0x21c [<ffffffff8056b6a0>] kernel_init+0x10/0xf8 [<ffffffff801059f8>] ret_from_kernel_thread+0x14/0x1c We fix this by incrementing the base register on every loop. Signed-off-by: Markos Chandras <[email protected]> Signed-off-by: Paul Burton <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12329/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: traps: Make sure secondary cores have a sane ebase registerMarkos Chandras1-0/+7
We shouldn't trust that the secondary cores will have a sane ebase register (either from the bootloader or during the hardware design phase) so use the ebase address as calculated by the boot CPU. Signed-off-by: Markos Chandras <[email protected]> Signed-off-by: Paul Burton <[email protected]> Cc: [email protected] Cc: Leonid Yegoshin <[email protected]> Cc: Maciej W. Rozycki <[email protected]> Cc: James Hogan <[email protected]> Cc: Petri Gynther <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12328/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Detect MIPSr6 Virtual Processor supportPaul Burton4-0/+8
MIPSr6 introduces support for "Virtual Processors", which are conceptually similar to VPEs from the now-deprecated MT ASE. Detect whether the system supports VPs using the VP bit in Config5, adding cpu_has_vp for use by later patches. Signed-off-by: Paul Burton <[email protected]> Cc: [email protected] Cc: Maciej W. Rozycki <[email protected]> Cc: Joshua Kinard <[email protected]> Cc: Steven J. Hill <[email protected]> Cc: Leonid Yegoshin <[email protected]> Cc: James Hogan <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12327/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: add initial support for DPT-ModuleAntony Pavlov2-0/+79
The following features are supported: * UART; * SPI-flash; * USB host; * GPIO key and LED. Links: * https://dptechnics.com/shop/index.php?route=product/product&path=59&product_id=50 * https://dptechnics.com/shop/index.php?route=product/product&path=59&product_id=63 Signed-off-by: Antony Pavlov <[email protected]> Cc: Daan Pape <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12886/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: add initial support for Onion OmegaAntony Pavlov2-0/+79
The following features are supported: * UART; * SPI-flash; * USB host; * GPIO key and LED. Please see https://onion.io/omega for details. Signed-off-by: Antony Pavlov <[email protected]> Cc: Gabor Juhos <[email protected]> Cc: Alban Bedel <[email protected]> Cc: L. D. Pinney <[email protected]> Cc: Boken Lin <[email protected]> Cc: Jacky Huang <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12884/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: add initial support for Dragino MS14 (Dragino 2)Antony Pavlov2-0/+103
The following features are supported: * UART; * SPI-flash; * USB host; * GPIO keys and LEDs. Links: * http://www.dragino.com/products/mother-board/item/71-ms14-p.html * https://wiki.openwrt.org/toh/dragino/ms14 Signed-off-by: Antony Pavlov <[email protected]> Cc: Gabor Juhos <[email protected]> Cc: Alban Bedel <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12882/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: add initial support for TP-LINK MR3020Antony Pavlov2-0/+119
The following features are supported: * UART; * SPI-flash; * USB host; * GPIO keys and LEDs. Links: * http://www.tp-link.com/en/products/details/?model=TL-MR3020 * http://wiki.openwrt.org/toh/tp-link/tl-mr3020 * https://wikidevi.com/wiki/TP-LINK_TL-MR3020 Signed-off-by: Antony Pavlov <[email protected]> Cc: Gabor Juhos <[email protected]> Cc: Alban Bedel <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12880/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: update devicetree clock support for AR9331Antony Pavlov1-34/+62
Signed-off-by: Antony Pavlov <[email protected]> Cc: Gabor Juhos <[email protected]> Cc: Alban Bedel <[email protected]> Cc: Michael Turquette <[email protected]> Cc: Stephen Boyd <[email protected]> Cc: Rob Herring <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12879/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: dts: qca: introduce AR9331 devicetreeAntony Pavlov1-0/+155
This patch introduces devicetree for Atheros AR9331 SoC (AKA Hornet). The AR9331 chip is a Wi-Fi System-On-Chip (WiSOC), typically used in very cheap Access Points and Routers. Signed-off-by: Antony Pavlov <[email protected]> Cc: Gabor Juhos <[email protected]> Cc: Alban Bedel <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12878/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: Disable platform code for OF boards.Antony Pavlov1-7/+9
For OF boards we have to skip platform initialization code so we can prove that OF code do all necessary initialization. [[email protected]: Fix merge conflict.] Signed-off-by: Antony Pavlov <[email protected]> Signed-off-by: Sudip Mukherjee <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Cc: Alban Bedel <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12877/ Patchwork: https://patchwork.linux-mips.org/patch/12920/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: update devicetree clock support for AR9132Antony Pavlov3-25/+108
Current ath79 clock.c code does not read reference clock and pll setup from devicetree. E.g. you can set any clock rate value in board DTS but it will have no effect on the real clk calculation. This patch fixes some AR9132 devicetree clock support defects: * clk initialization function ath79_clocks_init_dt_ng() is introduced; it actually gets pll block base register address and reference clock from devicetree; * pll register parsing code is moved to the separate ar724x_clk_init() function; this function can be called from platform code or from devicetree code. Also mips_hpt_frequency value is set from dt, so the appropriate clock parameter is added to the cpu@0 devicetree node. The same approach can be used for adding AR9331 devicetree support. Signed-off-by: Antony Pavlov <[email protected]> Cc: Gabor Juhos <[email protected]> Cc: Alban Bedel <[email protected]> Cc: Michael Turquette <[email protected]> Cc: Stephen Boyd <[email protected]> Cc: Rob Herring <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12876/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: ath79: Introduce <dt-bindings/clock/ath79-clk.h>Antony Pavlov2-19/+22
The include/dt-bindings/clock/ath79-clk.h header file is introduced so we can use symbolic identifiers for SoC clocks. Signed-off-by: Antony Pavlov <[email protected]> Cc: Gabor Juhos <[email protected]> Cc: Alban Bedel <[email protected]> Cc: Michael Turquette <[email protected]> Cc: Stephen Boyd <[email protected]> Cc: Rob Herring <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12875/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: dts: qca: ar9132: use short references for dt nodesAntony Pavlov2-53/+49
Here are some Sascha Hauer's arguments for using aliases in the dts files: - using aliases reduces the number of indentations in dts files; - dts files become independent of the layout of the dtsi files (it becomes possible to introduce another bus {} hierarchy between a toplevel bus and the devices when you have to); - less chances for typos. if &i2c2 does not exist you get an error. If instead you duplicate the whole path in the dts file a typo in the path will just create another node. Signed-off-by: Antony Pavlov <[email protected]> Cc: Alban Bedel <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Rob Herring <[email protected]> Cc: Frank Rowand <[email protected]> Cc: Grant Likely <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12873/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: dts: qca: ar9132_tl_wr1043nd_v1.dts: drop unused alias nodeAntony Pavlov1-4/+0
The TP-LINK TL-WR1043ND board has only one serial port, so replacing the default of 0 with 0 does nothing useful. Moreover, the correct name for aliases node is "aliases" not "alias". An overview of the "aliases" node usage can be found on the device tree usage page at devicetree.org [1]. Also please see chapter 3.3 ("Aliases node") of the ePAPR 1.1 [2]. [1] http://devicetree.org/Device_Tree_Usage#aliases_Node [2] https://www.power.org/documentation/epapr-version-1-1/ Signed-off-by: Antony Pavlov <[email protected]> Acked-by: Alban Bedel <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12872/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Lantiq: Make it possible to build in no device treeHauke Mehrtens1-1/+11
Now it is possible to build in no device tree at all and depend on the boot loader providing one or someone concatenating a device tree to the end of the image. This was copied from arch/mips/bmips/Kconfig Signed-off-by: Hauke Mehrtens <[email protected]> Acked-by: John Crispin <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12899/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Lantiq: Add support for device tree file from boot loaderHauke Mehrtens1-2/+11
This fetches the device tree file like it is specified in the MIPS UHI interface if one was found. This is also used when the device tree file was appended to the kernel image with cat. This code is copied from arch/mips/bmips/setup.c. Signed-off-by: Hauke Mehrtens <[email protected]> Acked-by: John Crispin <[email protected]> Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12898/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Octeon: Add DTS for EdgeRouter LiteAaro Koskinen1-0/+59
Add DTS for EdgeRouter Lite that is usable as is without any "pruning" with APPENDED_DTB. Compared to builtin generic DTB, we can avoid errors and delays from probing non-existent I2C devices. Signed-off-by: Aaro Koskinen <[email protected]> Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: Octeon: Add DTS for D-Link DSR-1000NAaro Koskinen3-202/+312
Add DTS for D-Link DSR-1000N that is usable as is without any "pruning" with APPENDED_DTB. Split out the common parts from octeon_3xxx.dts into octeon_3xxx.dtsi. Compared to builtin generic DTB, we can specificy fixed links properly and avoid probing non-existent I2C devices. Signed-off-by: Aaro Koskinen <[email protected]> Cc: David Daney <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12840/ Signed-off-by: Ralf Baechle <[email protected]>
2016-05-13MIPS: panic immediately when panic_on_oopsAaro Koskinen1-4/+1
MIPS wants to sleep 5 seconds before panicking when panic_on_oops is set, with no apparent reason. Remove this feature, since some users may want their systems to fail as quickly as possible. Users who want to delay reboot after panic can use PANIC_TIMEOUT. Signed-off-by: Aaro Koskinen <[email protected]> Cc: James E.J. Bottomley <[email protected]> Cc: Helge Deller <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/12845/ Signed-off-by: Ralf Baechle <[email protected]>