Commit Graph

298 Commits (9ebb23cf51c78802dc01cdbf37f65440c5325dab)

Author SHA1 Message Date
John Crispin 8e49b4b902 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>

SVN-Revision: 45730
2015-05-23 15:28:02 +00:00
John Crispin 0b24527e4d 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>

SVN-Revision: 45729
2015-05-23 15:27:54 +00:00
John Crispin f74477de48 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>

SVN-Revision: 45728
2015-05-23 15:27:45 +00:00
John Crispin 1c6d332d8f ipq806x: refresh kernel patches
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 45727
2015-05-23 15:27:28 +00:00
Jonas Gorski 76d079204d 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>

SVN-Revision: 45711
2015-05-21 19:32:46 +00:00
Felix Fietkau cfb56b4811 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>

SVN-Revision: 45663
2015-05-10 11:47:09 +00:00
Felix Fietkau 3c4bc0cd77 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>

SVN-Revision: 45662
2015-05-10 11:47:02 +00:00
Felix Fietkau bdcba36442 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>

SVN-Revision: 45661
2015-05-10 11:46:56 +00:00
John Crispin 0ddebefc74 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>

SVN-Revision: 45537
2015-04-21 07:15:47 +00:00
John Crispin 0fd202f3e5 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>

SVN-Revision: 45536
2015-04-21 07:15:37 +00:00
John Crispin be5f3b9016 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>

SVN-Revision: 45535
2015-04-21 07:15:30 +00:00
John Crispin 6adf864770 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>

SVN-Revision: 45345
2015-04-10 08:28:44 +00:00
John Crispin bf26426fd8 ipq806x: another missing symbol
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45277
2015-04-05 07:53:32 +00:00
John Crispin 4ad0ad9817 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>

SVN-Revision: 45262
2015-04-03 19:06:38 +00:00
John Crispin 5d52f4b51d 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>

SVN-Revision: 45261
2015-04-03 19:06:30 +00:00
John Crispin 114338003a kernel: add package for dwc3 usb driver used on ipq806x
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 45260
2015-04-03 19:06:21 +00:00
John Crispin 654312267c 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>

SVN-Revision: 45259
2015-04-03 19:06:11 +00:00
John Crispin e26f0d86e8 ipq806x: another missing symbol
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45257
2015-04-03 19:05:57 +00:00
Felix Fietkau 4869387480 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>

SVN-Revision: 45255
2015-04-03 18:47:51 +00:00
John Crispin bb0e931298 ipq806x: add missing symbol
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45228
2015-04-01 22:57:54 +00:00
John Crispin bf7eeea7ee ipq806x: clean up kernel conf
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 45211
2015-04-01 08:32:29 +00:00
John Crispin d3a9fc4586 ipq806x: add support for 4.0 kernel
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 45210
2015-04-01 08:32:03 +00:00
John Crispin 2d74104b52 ipq806x: move 020-add-ap148-bootargs.patch in patches-3.18
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 45209
2015-04-01 08:31:52 +00:00
John Crispin 7f3013a480 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>

SVN-Revision: 44794
2015-03-15 19:39:41 +00:00
John Crispin 582232cd7b 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>

SVN-Revision: 44793
2015-03-15 19:39:33 +00:00
John Crispin 1e3915a6c4 ipq806x: add 2 missing symbols that broke a full build
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44639
2015-03-10 11:02:52 +00:00
John Crispin 3ddd2b49a9 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>

SVN-Revision: 44616
2015-03-06 07:56:58 +00:00
John Crispin d15ac306fa 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>

SVN-Revision: 44615
2015-03-06 07:56:47 +00:00
John Crispin f04a268a04 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>

SVN-Revision: 44614
2015-03-06 07:56:34 +00:00
John Crispin 6617845711 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>

SVN-Revision: 44612
2015-03-06 07:56:08 +00:00
John Crispin 7c24d8627f ipq806x: add ahci to default packages
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44525
2015-02-24 12:00:22 +00:00
John Crispin 458c37fb14 ipq806x: add default package selection
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44523
2015-02-24 12:00:09 +00:00
John Crispin de7100d818 ipq806x: initialize the network on AP148
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 44522
2015-02-24 12:00:04 +00:00
John Crispin 9b6adc2d3a 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>

SVN-Revision: 44520
2015-02-24 11:59:51 +00:00
John Crispin 8eda29f12c ipq806x: enable ar8xxx switch family support
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 44519
2015-02-24 11:59:47 +00:00
John Crispin a45a5f7cf0 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>

SVN-Revision: 44518
2015-02-24 11:59:41 +00:00
John Crispin 6aab00fa44 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>

SVN-Revision: 44505
2015-02-22 08:29:18 +00:00
John Crispin 565a6f2a27 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>

SVN-Revision: 44504
2015-02-22 08:29:14 +00:00
John Crispin 5072954cd0 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>

SVN-Revision: 44503
2015-02-22 08:29:07 +00:00
John Crispin 88ddb37461 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>

SVN-Revision: 44386
2015-02-11 10:09:23 +00:00
Jo-Philipp Wich d70a9343e3 ipq806x: declare missing config symbols
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44144
2015-01-25 20:52:50 +00:00
Hauke Mehrtens f22aeccdd2 ipq806x: refresh patches
This makes the patchs apply again.

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

SVN-Revision: 43792
2014-12-28 19:31:40 +00:00
Felix Fietkau c288d2d6d9 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>

SVN-Revision: 43047
2014-10-24 19:34:02 +00:00
Felix Fietkau f35da063bc targets: remove useless quotes around KERNELNAME
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42780
2014-10-05 20:17:19 +00:00
Luka Perkov 02629d8f87 kernel: update 3.14 to 3.14.18
Targets were build tested and patches are refreshed.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 42463
2014-09-10 21:40:19 +00:00
John Crispin f11bd56f31 ipx806x: bump to 3.14.16
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 42336
2014-08-30 09:59:30 +00:00
John Crispin 4d96ccd87a target: set myself as maintainer
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 42335
2014-08-30 09:59:18 +00:00
John Crispin 3c1f6e358d ipq806x: Add support for IPQ806x chip family
Patches are generated using the "format-patch" command from the
following location:
*https://www.codeaurora.org/cgit/quic/kernel/galak-msm/log/?h=apq_ipq_base
*rev=0771849495b4128cac2faf7d49c85c729fc48b20
Patches numbered 76/77/102/103 have already been integrated in 3.14.12,
so they're not in this list.

All these patches are either integrated are pending integration into
kernel.org, therefore these patches should go away once the kernel
gets upgraded to 3.16.

Support is currently limited to AP148 board but can be extended to other
platforms in the future.

These changes do not cover ethernet connectivity.

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

SVN-Revision: 42334
2014-08-30 09:32:58 +00:00