Commit Graph

13 Commits (fcf74b1138cdfbe36b12d469b0f5a8ddf24867c9)

Author SHA1 Message Date
Jonas Gorski e9390dcf23 ipq806x: ap148/r7500: fix eth0 for non gige speeds
Eth0 is attached to mac0 of the switch with a fixed link and and not to
phy4 in single phy mode, so configuring it to anything but 1000FD will
break the connection, which will happen if a only 100 Mbit capapble device
is plugged into the wan port.

Fix this by not taking the state from phy4 and just configuring a fixed link
for eth0.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 47695
9 years ago
Felix Fietkau 49d4a980d7 ipq806x: fix pcie reset gpio definions and move them to the common .dtsi file
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47544
9 years ago
Felix Fietkau 575413a779 ipq806x: fix pcie tx0-term-offset setting
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47543
9 years ago
Jonas Gorski 9f44a347ea ipq806x: enable smem-parser for nand on AP148
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46785
9 years ago
John Crispin b0b59a8e75 ipq806x: switch AP148 to using SMEM based MTD parser
*Enable SMEM MTD parser and its dependencies (SMEM & HW spinlocks) in
 the kernel config
*Replaces the MTD layout in DT by the dynamic layout provided by the
 SMEM parser for AP148

Using the OF based parser is still possible on platforms which have a
fixed MTD partition layout.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46658
9 years ago
John Crispin 6b775f4517 ipq806x: add hwspinlock support
This change cherry-picks the following 3 changes from linux-next:
*fb7737 hwspinlock/core: add device tree support
*19a0f6 hwspinlock: qcom: Add support for Qualcomm HW Mutex block
*bd5717 hwspinlock: qcom: Correct msb in regmap_field

We're also adding a patch to add the hardware spinlock device nodes on
IPQ806x platforms (033-soc-qcom-Add-sfbp-device-to-IPQ806x-dts.patch).

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46655
9 years ago
Jonas Gorski 1c56854639 ipq806x: disable dma for spi on linux 4.1 as well
Linux 4.1 is also affected from the dma issue, so remove the dma
proprties there as well.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46599
9 years ago
Felix Fietkau d523866eb3 ipq806x: add NAND flash controller support
These patches add support for ipq806x NAND flash controller. Most of
these are cherry-picked & backported from LKML:
*https://lkml.org/lkml/2015/8/3/16

This patch just modifies the kernel code, but doesn't change the config.
It should be harmless.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46568
9 years ago
Felix Fietkau c7bf2accc9 ipq806x: Add ADM support
These are cherry-picked & backported from LKML:
*https://lkml.org/lkml/2015/3/17/19

They are enabled on both 3.18 and 4.1 kernel. Patches 150 to 154 are
applying changes merged since 3.18; they enable mechanisms used by the
ADM driver.

ADM engine is used by the NAND controller, so it is necessary to
bring-up NAND flash support.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46567
9 years ago
Felix Fietkau 0f7de49fa3 ipq806x: fix freeze in PCIe code when booting with an old u-boot
Old bootloader (same ones which have DT disabled) don't perform any PCIe
initialization. The consequence is a freeze during PCIe bring-up on
these old u-boot. Same kernel with a newer bootloaders works fine as
they contain the corresponding PCIe init code.

In this change, we'll add the missing init and make sure the kernel
doesn't rely on some preexisting init to get PCIe to work. That includes
the following changes:
*GPIOs: set function & drive strength
*Clocks: add init code for aux & ref clocks
*PCIe driver: additional init of the hardware controller

Tested 3.18 and 4.1 on an AP148 with bootloader branch 0.0.1

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46557
9 years ago
Felix Fietkau f7651fdba5 ipq806x: fix pcie pinmux naming in ipq806x dts
PCIe controller nodes are numbers 0/1/2 in the chipset dtsi file, but
the pinmux nodes are numbers 1/2/3. We'll make it consistent by changing
the pinmux numbering to match the controller's one.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46556
9 years ago
Felix Fietkau c4c986e419 ipq806x: add support for non-dt enabled ap148 bootloader
Certain AP148 platforms (and derivative) use bootloaders which did not
have DT enabled.
In order to support these old platforms, we'll now make the following
modifications:
*explicitely add the memory node in the AP148 DT: this used to be added
 by new u-boot through a run-time patch mechanism. We'll now add it
 explicitely so it works on boots which don't support that feature. New
 boots will have the node twice, the second one will be ignored.
*add the zImage generation next to the FIT image for AP148.

Other platforms using non-DT enabled bootloaders may want to leverage
this zImage code to generate their own firmare as well.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46555
9 years ago
Felix Fietkau 4d1656e813 ipq806x: update bleeding-edge kernel from 4.0 to 4.1
Default kernel doesn't change and stays on 3.18 for now.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46554
9 years ago