Markos Chandras
0f2a148448
MIPS: pm-cps: Avoid offset overflow on MIPSr6
...
This is similar to commit 934c79231c ("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 <markos.chandras@imgtec.com >
Signed-off-by: Paul Burton <paul.burton@imgtec.com >
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12329/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:48 +02:00
Markos Chandras
04d83f9485
MIPS: traps: Make sure secondary cores have a sane ebase register
...
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 <markos.chandras@imgtec.com >
Signed-off-by: Paul Burton <paul.burton@imgtec.com >
Cc: linux-mips@linux-mips.org
Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com >
Cc: Maciej W. Rozycki <macro@linux-mips.org >
Cc: James Hogan <james.hogan@imgtec.com >
Cc: Petri Gynther <pgynther@google.com >
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12328/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:48 +02:00
Paul Burton
f270d881fa
MIPS: Detect MIPSr6 Virtual Processor support
...
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 <paul.burton@imgtec.com >
Cc: linux-mips@linux-mips.org
Cc: Maciej W. Rozycki <macro@imgtec.com >
Cc: Joshua Kinard <kumba@gentoo.org >
Cc: Steven J. Hill <sjhill@realitydiluted.com >
Cc: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com >
Cc: James Hogan <james.hogan@imgtec.com >
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12327/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:47 +02:00
Antony Pavlov
98c1c5078d
MIPS: ath79: add initial support for DPT-Module
...
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 <antonynpavlov@gmail.com >
Cc: Daan Pape <daan@dptechnics.com >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12886/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:47 +02:00
Antony Pavlov
f40aec27ea
devicetree: add DPTechnics vendor id
...
Please see https://www.dptechnics.com/contact for details.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com >
Acked-by: Rob Herring <robh@kernel.org >
Cc: Daan Pape <daan@dptechnics.com >
Cc: devicetree@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12885/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:47 +02:00
Antony Pavlov
930c54ff39
MIPS: ath79: add initial support for Onion Omega
...
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 <antonynpavlov@gmail.com >
Cc: Gabor Juhos <juhosg@openwrt.org >
Cc: Alban Bedel <albeu@free.fr >
Cc: L. D. Pinney <ldpinney@gmail.com >
Cc: Boken Lin <bl@onion.io >
Cc: Jacky Huang <huangfangcheng@163.com >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12884/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:47 +02:00
Antony Pavlov
e454cc4943
devicetree: add Onion Corporation vendor id
...
Please see https://onion.io/contact for details.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com >
Acked-by: Rob Herring <robh@kernel.org >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12883/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:46 +02:00
Antony Pavlov
3b9ec1b325
MIPS: ath79: add initial support for Dragino MS14 (Dragino 2)
...
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 <antonynpavlov@gmail.com >
Cc: Gabor Juhos <juhosg@openwrt.org >
Cc: Alban Bedel <albeu@free.fr >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12882/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:46 +02:00
Antony Pavlov
4d536731f8
devicetree: add Dragino vendor id
...
Please see http://www.dragino.com/about/about.html for details.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com >
Acked-by: Rob Herring <robh@kernel.org >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12881/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:46 +02:00
Antony Pavlov
2c3694d2e6
MIPS: ath79: add initial support for TP-LINK MR3020
...
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 <antonynpavlov@gmail.com >
Cc: Gabor Juhos <juhosg@openwrt.org >
Cc: Alban Bedel <albeu@free.fr >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12880/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:46 +02:00
Antony Pavlov
5ae5c452e3
MIPS: ath79: update devicetree clock support for AR9331
...
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com >
Cc: Gabor Juhos <juhosg@openwrt.org >
Cc: Alban Bedel <albeu@free.fr >
Cc: Michael Turquette <mturquette@baylibre.com >
Cc: Stephen Boyd <sboyd@codeaurora.org >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: linux-clk@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12879/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:46 +02:00
Antony Pavlov
1e6a3492e7
MIPS: dts: qca: introduce AR9331 devicetree
...
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 <antonynpavlov@gmail.com >
Cc: Gabor Juhos <juhosg@openwrt.org >
Cc: Alban Bedel <albeu@free.fr >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12878/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:45 +02:00
Antony Pavlov
f4fe969d7f
MIPS: ath79: Disable platform code for OF boards.
...
For OF boards we have to skip platform initialization code
so we can prove that OF code do all necessary initialization.
[ralf@linux-mips.org: Fix merge conflict.]
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Reviewed-by: Marek Vasut <marex@denx.de>
Cc: Alban Bedel <albeu@free.fr>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12877/
Patchwork: https://patchwork.linux-mips.org/patch/12920/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:45 +02:00
Antony Pavlov
3bdf1071ba
MIPS: ath79: update devicetree clock support for AR9132
...
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 <antonynpavlov@gmail.com >
Cc: Gabor Juhos <juhosg@openwrt.org >
Cc: Alban Bedel <albeu@free.fr >
Cc: Michael Turquette <mturquette@baylibre.com >
Cc: Stephen Boyd <sboyd@codeaurora.org >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: linux-clk@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12876/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:45 +02:00
Antony Pavlov
af5ad0de22
MIPS: ath79: Introduce <dt-bindings/clock/ath79-clk.h>
...
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 <antonynpavlov@gmail.com >
Cc: Gabor Juhos <juhosg@openwrt.org >
Cc: Alban Bedel <albeu@free.fr >
Cc: Michael Turquette <mturquette@baylibre.com >
Cc: Stephen Boyd <sboyd@codeaurora.org >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: linux-mips@linux-mips.org
Cc: linux-clk@vger.kernel.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12875/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:45 +02:00
Antony Pavlov
83fe838466
MIPS: dts: qca: ar9132: use short references for dt nodes
...
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 <antonynpavlov@gmail.com >
Cc: Alban Bedel <albeu@free.fr >
Cc: Sascha Hauer <s.hauer@pengutronix.de >
Cc: Rob Herring <robh+dt@kernel.org >
Cc: Frank Rowand <frowand.list@gmail.com >
Cc: Grant Likely <grant.likely@linaro.org >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12873/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:45 +02:00
Antony Pavlov
2cdfec1bbb
MIPS: dts: qca: ar9132_tl_wr1043nd_v1.dts: drop unused alias node
...
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 <antonynpavlov@gmail.com >
Acked-by: Alban Bedel <albeu@free.fr >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12872/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:45 +02:00
Hauke Mehrtens
e791dfb5fb
MIPS: Lantiq: Make it possible to build in no device tree
...
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 <hauke@hauke-m.de >
Acked-by: John Crispin <john@phrozen.org >
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12899/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:44 +02:00
Hauke Mehrtens
84f47cf49e
MIPS: Lantiq: Add support for device tree file from boot loader
...
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 <hauke@hauke-m.de >
Acked-by: John Crispin <john@phrozen.org >
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12898/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:44 +02:00
Aaro Koskinen
842c1e2c4a
MIPS: Octeon: Add DTS for EdgeRouter Lite
...
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 <aaro.koskinen@iki.fi >
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:44 +02:00
Aaro Koskinen
fa0a497b9e
MIPS: Octeon: Add DTS for D-Link DSR-1000N
...
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 <aaro.koskinen@iki.fi >
Cc: David Daney <ddaney.cavm@gmail.com >
Cc: linux-mips@linux-mips.org
Cc: devicetree@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12840/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:44 +02:00
Aaro Koskinen
99a7a234c8
MIPS: panic immediately when panic_on_oops
...
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 <aaro.koskinen@iki.fi >
Cc: James E.J. Bottomley <jejb@parisc-linux.org >
Cc: Helge Deller <deller@gmx.de >
Cc: linux-mips@linux-mips.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12845/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:44 +02:00
Rafał Miłecki
2ab71a02c5
MIPS: BCM47xx: Move SPROM driver to drivers/firmware/
...
Broadcom ARM home routers store SPROM content in NVRAM just like MIPS
ones. To share SPROM code we need to move it out of arch/mips/ to some
common place. We already have bcm47xx_nvram in firmware path and SPROM
should fit there as well.
This driver is responsible for parsing SoC configuration data into a
struct shared between ssb and bcma buses.
This was tested with BCM4706 & BCM5357C0 (BCM47XX) and BCM4708A0
(ARCH_BCM_5301X).
Signed-off-by: Rafał Miłecki <zajec5@gmail.com >
Cc: Hauke Mehrtens <hauke@hauke-m.de >
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12210/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:43 +02:00
Philipp Zabel
b11d022767
MIPS: ralink: Make reset_control_ops const
...
The reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Acked-by: John Crispin <john@phrozen.org >
Cc: linux-mips@linux-mips.org
Cc: kernel@pengutronix.de
Patchwork: https://patchwork.linux-mips.org/patch/12618/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:43 +02:00
Philipp Zabel
24bc827beb
MIPS: lantiq: Make reset_control_ops const
...
The reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de >
Acked-by: John Crispin <john@phrozen.org >
Cc: linux-mips@linux-mips.org
Cc: kernel@pengutronix.de
Patchwork: https://patchwork.linux-mips.org/patch/12619/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org >
2016-05-13 14:01:43 +02:00