Commit Graph

54 Commits (4163b0853da8b0dde090b5f8df81b71d3940bdb2)

Author SHA1 Message Date
John Crispin b7e1d88789 ipq806x: replace caf nss-gmac driver by upstream stmmac
This driver has been cherry-picked and backported from the following
LKML thread:
*https://lkml.org/lkml/2015/5/26/744

It also updates the DT accordingly.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45831 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-29 12:26:01 +00:00
John Crispin 3b223a0d0e ipq806x: enable kernel support for Fixed PHY emulation
Most ipq806x platforms use an ethernet switch, and the new upstream
GMAC driver makes use of the Fixed PHY emulation to force the link
settings despite the lack of PHY.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45830 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-29 12:25:44 +00:00
John Crispin e684038a04 ipq806x: move arm-gic include into pcie patch
This include is necessary starting at the PCIe patch, which has a lower
number. So in order to keep the patches consistent, we'll move the
arm-gic include in the first patch who needs it.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45827 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-29 12:25:15 +00:00
John Crispin 63da367760 ipq806x: fix imagebuilder
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45823 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-29 11:28:44 +00:00
John Crispin 57029292e7 ipq806x: add missing symbol
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45794 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-27 20:05:03 +00:00
John Crispin eaed0cb7ed ipq806x: enable cpu idle support in kernel conf
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45731 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-23 15:28:11 +00:00
John Crispin 9d603d0813 ipq806x: add & enable cpufreq support
This change set enables frequency scaling on ipq806x, which speeds-up
the CPU and allows it to achieve its max frequency.

These patches are cherry-picked & backported from the following location:
*130-132: linux-next
*133-143: LKML - https://lkml.org/lkml/2015/3/21/15
*144: derived from other qcom similar dts
*145: derived from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.14/drivers/cpufreq/cpufreq-krait.c

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45730 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-23 15:28:02 +00:00
John Crispin 85367e0fb3 ipq806x: add power regulators support
Patches are cherry-picked from linux-next. We're also adding the
corresponding config option to the kernel.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45729 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-23 15:27:54 +00:00
John Crispin 632c47b4de ipq806x: disable i2c device on gsbi4
Patch cherry-picked from the following location:
https://chromium-review.googlesource.com/#/c/269931/

Disable the i2c device on gsbi4 and mark gsbi4_h and gsbi4_qup clks as
unused. If they are enabled, clock framework will turn them off at end
of probe. On ipq806x by design gsbi4_qup, gsbi4_h clks and i2c on gsbi4
are meant for RPM usage. So turning them off in kernel is incorrect.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45728 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-23 15:27:45 +00:00
John Crispin 86f90b7367 ipq806x: refresh kernel patches
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45727 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-23 15:27:28 +00:00
Jonas Gorski 9157f62043 kernel: update 3.18 to 3.18.14
Changelogs:

* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.12
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.13
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.14

Build tested on brcm63xx and ipq806x, runtested on brcm63xx.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45711 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-21 19:32:46 +00:00
Felix Fietkau 11551d3e65 ipq806x: add pcie support to ipq806x based platforms
This change adds PCIe support to IPQ806x based platforms. The driver is
actually cherry-picked from the following LKML thread:
*https://lwn.net/Articles/643086/ (patches 110-111)

We also add here an additional fix to support multiple PCI controllers
on the same platform (patch 112), and to patch the ap148 & dbs149 DTS
files (patch 113).

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45663 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-10 11:47:09 +00:00
Felix Fietkau c6c8c1b357 ipq806x: add support for zImage kernel
This change enable zImage+appended dtb support in ipq806x kernel
options. The zImage will now be generated as part of the kernel
binaries. Platforms which do not have DT support enabled in U-boot
can now make use of it by generating zImage files and appending dtb
to it.

It is not used yet but it is done as a stepping stone for early IPQ806x
platforms, which did not include DT support in U-boot.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45662 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-10 11:47:02 +00:00
Felix Fietkau 2fb73fa3e4 ipq806x: fix boot freeze on zImage kernel
ARCH_QCOM is using the ARCH_MULTIPLATFORM option, as now recommended
on most ARM architectures. This automatically calculate ZRELADDR by
masking PHYS_OFFSET with 0xf8000000.

On IPQ806x though, the first ~20MB of RAM is reserved for the hardware.
In newer bootloader, when DT is used, this is not a problem, we just
reserve this memory in the device tree. But if the bootloader doesn't
have DT support, then ATAGS have to be used. In this case, the ARM
decompressor will position the kernel in this low mem, which will not be
in the RAM section mapped by the bootloader, which means the kernel will
freeze in the middle of the boot process trying to map the memory.

As a work around, this patch allows disabling AUTO_ZRELADDR when
ARCH_QCOM is selected. It makes the zImage usage possible on bootloaders
which don't support device-tree, which is the case on certain early
IPQ806x based designs.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45661 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-05-10 11:46:56 +00:00
John Crispin 73951af838 ipq806x: add db149 support to OpenWrt init scripts
DB149 is a IPQ8064 based platform. This patch adds the init scripts to
detect it, configure the network accordingly, and generate a flashable
image for it.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45537 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-21 07:15:47 +00:00
John Crispin 3cb0af6e7f ipq806x: add db149 dts files
DB149 is an IPQ806x based development platform. This patch adds the dts
files to support it.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45536 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-21 07:15:37 +00:00
John Crispin a4ced27635 ipq806x: enable AT803x driver
Certain IPQ806x based platforms are making use of this PHY. So we'll
enable it so it gets detected as such.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45535 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-21 07:15:30 +00:00
John Crispin f423e902fe ipq806x: automatically select kmod-usb-phy-qcom-dwc3
kmod-usb-phy-qcom-dwc3 is required to get USB working on ipq806x. It was
missed in previous commit so let's enable it automatically.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45345 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-10 08:28:44 +00:00
John Crispin 661ad4be7c ipq806x: another missing symbol
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45277 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-05 07:53:32 +00:00
John Crispin 2c66af96a6 ipq806x: enable usb3 packages in default profile
Default profile already enables usb2 so we'll do the same for usb3 now
that we have support for it.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45262 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 19:06:38 +00:00
John Crispin 55bd704a1b ipq806x: add platform usb support
This change adds DWC3 QCOM USB phys and TCSR drivers. These are
cherry-picked from the following LKML threads:
*dwc3 qcom: https://lkml.org/lkml/2014/9/12/599
*tcsr: https://lkml.org/lkml/2015/2/9/579

We're also adding an additional patch to add the corresponding dev nodes
in the IPQ806x and AP148 dts files.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45261 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 19:06:30 +00:00
John Crispin 1569ab3bb0 kernel: add package for dwc3 usb driver used on ipq806x
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45260 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 19:06:21 +00:00
John Crispin e40babefe1 ipq806x: enable usb support
This change doesn't make USB functional but it does make it selectable
from a configuration perspective.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45259 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 19:06:11 +00:00
John Crispin 6faa325aef ipq806x: another missing symbol
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45257 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 19:05:57 +00:00
Felix Fietkau c3daf8ff1e ipq806x: clean-up kernel config file
Options that used to be in target config have been added to the generic
config file, so remove them.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45255 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-03 18:47:51 +00:00
John Crispin 2365640627 ipq806x: add missing symbol
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45228 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-01 22:57:54 +00:00
John Crispin a04e09d6a9 ipq806x: clean up kernel conf
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45211 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-01 08:32:29 +00:00
John Crispin ca4bf7b101 ipq806x: add support for 4.0 kernel
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45210 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-01 08:32:03 +00:00
John Crispin ce5a746e31 ipq806x: move 020-add-ap148-bootargs.patch in patches-3.18
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45209 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-04-01 08:31:52 +00:00
John Crispin db328d1e26 ipq806x: fix AP148 boot from NOR
This patch allows AP148 to boot from NOR flash.

As we're using a FIT image as kernel (which includes kernel bin + DTB)
we enable the MTD_SPLIT_FIT_FW kernel option, which will detect the FIT
image and automatically split the "firmware" partition into 2 MTD parts
(kernel + rootfs).

The rootfs will then be parsed and split between rootfs + rootfs_data,
as usual.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44794 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-15 19:39:41 +00:00
John Crispin a325ed5979 ipq806x: add ap148 bootargs to DT
Only one bootargs is really needed: the tty port. All the other
information will use the OpenWrt mechanisms.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44793 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-15 19:39:33 +00:00
John Crispin b2d847f4c0 ipq806x: add 2 missing symbols that broke a full build
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44639 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-10 11:02:52 +00:00
John Crispin ee74764811 ipq806x: rename patches in patches-3.18
This will allow ipq806x to support multiple kernel version more easily.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44616 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-06 07:56:58 +00:00
John Crispin 63a4e80380 kernel: move KERNFS to generic config
KERNFS symbol is selected by SYSFS, so place it in generic config.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44615 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-06 07:56:47 +00:00
John Crispin a585342d28 kernel: disable ARCH_NEEDS_CPU_IDLE_COUPLED
Disable ARCH_NEEDS_CPU_IDLE_COUPLED by-default in generic config, since
only one platfrom (omap) needs them.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44614 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-06 07:56:34 +00:00
John Crispin a739348da2 kernel: move MTD_SPLIT_SUPPORT to generic config
CONFIG_MTD_SPLIT_SUPPORT symbol default value is 'y' and many platform
specific configs explicitly enables it, while no one platform disables
this symbol. So place it in generic config and remove from platform
specific configs.

Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44612 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-03-06 07:56:08 +00:00
John Crispin 23193222d4 ipq806x: add ahci to default packages
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44525 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-24 12:00:22 +00:00
John Crispin 9ef5d85054 ipq806x: add default package selection
Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44523 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-24 12:00:09 +00:00
John Crispin 5b71c599e2 ipq806x: initialize the network on AP148
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44522 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-24 12:00:04 +00:00
John Crispin ab28cee016 ipq806x: enable GMAC support in DTS
This adds the GMAC entries in the ipq806x dtsi file as well as in the
ap148 specific dts file.

This also adds the MDIO change as well.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44520 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-24 11:59:51 +00:00
John Crispin 1457cdbf2c ipq806x: enable ar8xxx switch family support
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44519 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-24 11:59:47 +00:00
John Crispin b36096edfb ipq806x: fix spi read issues observed with SMP enabled
This change is fixing the issues observed when booting from NOR flash
with SMP enabled.

Error logs below:
building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of
xref (0 dead, 0 orphan) found.
m25p80 spi32766.0: SPI transfer failed: -110
spi_master spi32766: failed to transfer one message from queue
jffs2: Write of 873 bytes at 0x019001e8 failed. returned 0, retlen 792

Patch is cherry-picked from here:
https://www.codeaurora.org/cgit/quic/qsdk/oss/kernel/linux-msm/commit/drivers/spi/spi-qup.c?h=coconut_20140924&id=4faba89e3ffbb1c5f6232651375b9b3212b50f02

More details in the patch file.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44518 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-24 11:59:41 +00:00
John Crispin a913b333ad ipq806x: delete config-3.14 file
ipq806x target has been upgraded to 3.14. There is no need to maintain
this file anymore.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44505 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-22 08:29:18 +00:00
John Crispin f597b456c7 ipq806x: fix "reboot" command
The watchdog driver already registers a restart notifier, we just have
to enable it in the config and in the DT to fix the "reboot" command.

This is done by integratin the following patch-set:
https://lkml.org/lkml/2015/2/20/610

I'm copy-pasting the description below:
qcom-wdt is currently assuming the presence of a dedicated node in DT
to gets its configuration. However, on msm architecture, the watchdog is
usually part of the timer block. So this patch-set is changing the driver
and slightly enhancing the timer DT bindings to provide the relevant clocks
and interrupts.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44504 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-22 08:29:14 +00:00
John Crispin c2a0f4325c ipq806x: enable watchdog kernel option
Some bootloaders seem to trigger the watchdog during the boot process,
therefore the lack of watchdog driver trigger a reboot a few seconds
after boot. So we'll enable it here to avoid it.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44503 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-22 08:29:07 +00:00
John Crispin 74dc0649ff ipq806x: update target to v3.18
Patches in the ipq806x/patches folder were out of tree in v3.14. The
newest patch at the time was from June, so we can safely assume that
either the patches have been merged, or they have been rejected for
a good reason. If patches are seen missing, we'll cherry-pick them
on a per-needed basis.

This new kernel have been tested on AP148, which seems to works fine.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44386 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-02-11 10:09:23 +00:00
Jo-Philipp Wich 29d0143fd6 ipq806x: declare missing config symbols
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44144 3c298f89-4303-0410-b956-a3cf2f4a3e73
2015-01-25 20:52:50 +00:00
Hauke Mehrtens 6766b3e8c1 ipq806x: refresh patches
This makes the patchs apply again.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43792 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-12-28 19:31:40 +00:00
Felix Fietkau 31b1aae3d8 kernel: makefiles: make use of new var KERNEL_PATCHVER
replace all occurences of LINUX_VERSION with the cleaner
approach. future kernel upgrades must mostly touch only
one file. the only platform left is netlogic, because it
uses a intermediate kernel 3.14.16

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43047 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-24 19:34:02 +00:00
Felix Fietkau 0a602b2b72 targets: remove useless quotes around KERNELNAME
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42780 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-10-05 20:17:19 +00:00