openwrt/staging/lynxis.git
6 years agocns3xxx: refresh patches
Koen Vandeputte [Thu, 11 Jan 2018 15:04:39 +0000 (16:04 +0100)]
cns3xxx: refresh patches

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agocns3xxx: remove deprecated uart flags
Koen Vandeputte [Thu, 11 Jan 2018 15:04:38 +0000 (16:04 +0100)]
cns3xxx: remove deprecated uart flags

Flag UPF_NO_TXEN_TEST is deprecated.

Remove it.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agocns3xxx: fix ethernet IRQ imbalance in 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:37 +0000 (16:04 +0100)]
cns3xxx: fix ethernet IRQ imbalance in 4.14

Kernel 4.14 contains more warnings regarding NAPI usage, which showed
following warning:

[ 4016.420000] ------------[ cut here ]------------
[ 4016.430000] WARNING: CPU: 1 PID: 14 at kernel/irq/manage.c:525
__enable_irq+0x3c/0x78
[ 4016.440000] Unbalanced enable for IRQ 51
[ 4016.440000] Modules linked in: ath9k ath9k_common pppoe ppp_async
ath9k_hw ath pppox ppp_generic nf_conntrack_ipv6 mac80211 iptable_nat
ipt_REJECT ipt_MASQUERADE cfg80211 xt_time xt_tcpudp xt_state xt_nat
xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS
xt_REDIRECT xt_LOG slhc nf_reject_ipv4 nf_nat_redirs
[ 4016.500000] CPU: 1 PID: 14 Comm: ksoftirqd/1 Tainted: G        W
       4.14.11 #0
[ 4016.500000] Hardware name: Gateworks Corporation Laguna Platform
[ 4016.510000] Backtrace:
[ 4016.510000] [<c010a28c>] (dump_backtrace) from [<c010a56c>]
(show_stack+0x18/0x1c)
[ 4016.520000]  r7:c059df4b r6:00000000 r5:60000093 r4:00000000
[ 4016.530000] [<c010a554>] (show_stack) from [<c048b04c>]
(dump_stack+0x94/0xb4)
[ 4016.530000] [<c048afb8>] (dump_stack) from [<c011760c>]
(__warn+0xc8/0xf8)
[ 4016.540000]  r7:c059df4b r6:c015144c r5:00000000 r4:cf863e08
[ 4016.550000] [<c0117544>] (__warn) from [<c011767c>]
(warn_slowpath_fmt+0x40/0x48)
[ 4016.550000]  r9:cf863eb0 r8:00000036 r7:00000000 r6:c0636360
r5:00000033 r4:cf80a500
[ 4016.560000] [<c0117640>] (warn_slowpath_fmt) from [<c015144c>]
(__enable_irq+0x3c/0x78)
[ 4016.570000]  r3:00000033 r2:c059e0c5
[ 4016.570000] [<c0151410>] (__enable_irq) from [<c01514ec>]
(enable_irq+0x64/0x7c)
[ 4016.580000] [<c0151488>] (enable_irq) from [<c0335c14>]
(eth_poll+0x28c/0x558)
[ 4016.590000]  r5:d08926c0 r4:cf894488
[ 4016.590000] [<c0335988>] (eth_poll) from [<c03b1718>]
(net_rx_action+0xfc/0x2e8)
[ 4016.600000]  r10:cf863eb8 r9:cf863eb0 r8:00000001 r7:0f7b5000
r6:c0636360 r5:cfdeb360
[ 4016.610000]  r4:cf894488
[ 4016.610000] [<c03b161c>] (net_rx_action) from [<c0101510>]
(__do_softirq+0xe0/0x228)
[ 4016.620000]  r10:00000100 r9:c070204c r8:c0702040 r7:00000003
r6:00000008 r5:40000003
[ 4016.620000]  r4:cf862000
[ 4016.630000] [<c0101430>] (__do_softirq) from [<c011ae28>]
(run_ksoftirqd+0x34/0x58)
[ 4016.630000]  r10:c0133964 r9:00000000 r8:00000001 r7:00000000
r6:c070b44c r5:cf862000
[ 4016.640000]  r4:cf8037e0
[ 4016.640000] [<c011adf4>] (run_ksoftirqd) from [<c0133adc>]
(smpboot_thread_fn+0x178/0x190)
[ 4016.650000] [<c0133964>] (smpboot_thread_fn) from [<c013099c>]
(kthread+0x11c/0x138)
[ 4016.660000]  r9:cf8037e0 r8:cf802cdc r7:cf839df8 r6:cf803800
r5:00000000 r4:cf802cc0
[ 4016.670000] [<c0130880>] (kthread) from [<c0107218>]
(ret_from_fork+0x14/0x3c)
[ 4016.680000]  r10:00000000 r9:00000000 r8:00000000 r7:00000000
r6:00000000 r5:c0130880
[ 4016.680000]  r4:cf803800 r3:cf862000
[ 4016.690000] ---[ end trace 51114df08f429115 ]---

This is triggered by calling eth_schedule_poll(sw) after the IRQ has
been re-enabled.

Rework the network code to only enable IRQ's again if NAPI agrees it's
safe to do so.

Also only re-enable IRQ *after* cleaning up the RX ring and re-enabling
DMA, which otherwise resulted in ugly warnings regarding dirty page
fragments.
These popped up nearly immediately when building the kernel with O2 iso
Os.

--> Note that this change fixes stability issues, at the cost of ~8%
throughput performance.

While at it, also change the iface name being used in warning prints,
making it more obvious: "switch%d" --> "cns3xxx_eth"

The changes have been tested on 4 boards, each moving ~30TB of data

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agocns3xxx: update patches for 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:36 +0000 (16:04 +0100)]
cns3xxx: update patches for 4.14

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agocns3xxx: refresh kernel 4.14 config
Koen Vandeputte [Thu, 11 Jan 2018 15:04:35 +0000 (16:04 +0100)]
cns3xxx: refresh kernel 4.14 config

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agocns3xxx: copy patches for kernel 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:34 +0000 (16:04 +0100)]
cns3xxx: copy patches for kernel 4.14

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agocns3xxx: copy config for kernel 4.14
Koen Vandeputte [Thu, 11 Jan 2018 15:04:33 +0000 (16:04 +0100)]
cns3xxx: copy config for kernel 4.14

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agoconfig: don't define the same symbol twice
Koen Vandeputte [Sat, 13 Jan 2018 20:35:48 +0000 (21:35 +0100)]
config: don't define the same symbol twice

In commit fce35bce0f6e ("config: support new symbol intro'd in kernel
4.12")
I forgot to remove the initial debug test line.

This clearly is wrong as the same symbol is defined conditionally in the
line below as it should be.

I looked over it as I just checked if the symbol was present now upon
testing it.

Fixes: fce35bce0f6e ("config: support new symbol intro'd in kernel
4.12")

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agoar71xx: fix format of the 701-MIPS-ath79-add-routerboard-detection patches
Gabor Juhos [Mon, 15 Jan 2018 22:04:53 +0000 (23:04 +0100)]
ar71xx: fix format of the 701-MIPS-ath79-add-routerboard-detection patches

Commit e15c63a37574 ("ar71xx: add support for MikroTik RouterBOARD wAP
G-5HacT2HnD (wAP AC") broke the format of the patches. In unified diff
format, the unchanged, contextual lines must be preceded by a space
character.

Refresh the patches with quilt to fix them.

Fixes: e15c63a37574 ("ar71xx: add support for MikroTik RouterBOARD wAPG-5HacT2HnD (wAP AC")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
6 years agoar71xx: fix format of the 741-MIPS-ath79-add-PCI-for-QCA9556-SoC patches
Gabor Juhos [Mon, 15 Jan 2018 22:04:37 +0000 (23:04 +0100)]
ar71xx: fix format of the 741-MIPS-ath79-add-PCI-for-QCA9556-SoC patches

The patches introduced in commit 20e68f6d395d ("ar71xx: kernel: enable
PCI on QCA9556 SoC") have non standard format. In unified diff format,
the unchanged, contextual lines must be preceded by a space character.

Refresh the patches with quilt to fix them.

Fixes: 20e68f6d395d ("ar71xx: kernel: enable PCI on QCA9556 SoC")
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
6 years agoar71xx: mach-rbspi: simplify reset button registration
Gabor Juhos [Mon, 15 Jan 2018 19:50:43 +0000 (20:50 +0100)]
ar71xx: mach-rbspi: simplify reset button registration

The setup code defines four individual structures for the
Reset buttons of the supported boards. The only difference
between the definitions is the GPIO number used for the
button.

Replace the different structures with one generic variant,
and add a helper function to simplify the button registration.

Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
6 years agoimx6: add support for the intel gbit driver on GW5520
Koen Vandeputte [Sat, 13 Jan 2018 20:41:59 +0000 (21:41 +0100)]
imx6: add support for the intel gbit driver on GW5520

The Gateworks GW5520 board uses 2x intel gigabit mac's, instead of the
internal i.MX6 FEC.

Add support for these.

Signed-off-by: Scott V. Kamp <outbackdingo@gmail.com>
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agomac80211: remove support code for authsae
Felix Fietkau [Fri, 15 Dec 2017 13:46:42 +0000 (14:46 +0100)]
mac80211: remove support code for authsae

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoauthsae: remove package
Felix Fietkau [Fri, 15 Dec 2017 13:45:44 +0000 (14:45 +0100)]
authsae: remove package

It is no longer actively maintained and does not work well in many
configurations. Fully replaced by wpad-mesh

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years agoipq8065: adjust SS USB PHY power settings
Pavel Kubelun [Wed, 5 Jul 2017 16:23:23 +0000 (19:23 +0300)]
ipq8065: adjust SS USB PHY power settings

According to QSDK ipq8065 has different SS USB PHY power settings.

Adjust it according to QSDK settings.

It also corresponds to oem Netgear R7800 tarball for soc ver >= 2.
https://github.com/paul-chambers/netgear-r7800/blob/eeac2e10190f6f45e32e4c7012c4babc351898d8/git_home/linux.git/sourcecode/arch/arm/mach-msm/board-ipq806x.c#L2494

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoipq806x: usb: add phy 1 master reset control
Pavel Kubelun [Thu, 15 Jun 2017 10:58:34 +0000 (13:58 +0300)]
ipq806x: usb: add phy 1 master reset control

In current state only phy 0 master reset is controlled.
Add the phy 1 reset.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoipq806x: usb: Control USB master reset
Pavel Kubelun [Thu, 15 Jun 2017 10:00:18 +0000 (13:00 +0300)]
ipq806x: usb: Control USB master reset

Picking commit from QSDK
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=eggplant&id=a86bda9f8a7965f0cedd347a9c04800eb9f41ea3

Commit message:
"During removal of the glue layer(dwc3-of-simple), USB master reset is set to active and during insertion it is de-activated."

Change-Id: I537dc810f6cb2a46664ee674840145066432b957
Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org>
(cherry picked from commit 4611e13580a216812f85f0801b95442d02eeb836)"

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoipq806x: dwc3: Fix power_on and power_off sequence
Pavel Kubelun [Thu, 15 Jun 2017 08:48:17 +0000 (11:48 +0300)]
ipq806x: dwc3: Fix power_on and power_off sequence

Picking commit from QSDK
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/drivers/phy/phy-qcom-dwc3.c?h=eggplant&id=d316437c9cdb70023a760342678f32e27241725a

The commit fixes:
- dwc3 phy module unloading
- possibly fixes FS#177 when some devices were improperly enumerated as HS while being SS thus stucking the driver during boot.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoipq806x: Update HSIO recommended usb phy settings
Pavel Kubelun [Thu, 15 Jun 2017 08:35:26 +0000 (11:35 +0300)]
ipq806x: Update HSIO recommended usb phy settings

Picking commit from QSDK
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/drivers/phy/phy-qcom-dwc3.c?h=eggplant&id=cf82fdf4bdd081cd81bb081f7815b915bc8bb851

The comit adjusts USB dwc3 phy default values as per QSDK recomendation and allows to set it through DT.

Commit message:
"SoC version based values will be recovered from the device node.
If device node does not have such values, defaults are applied.

Change-Id: Ia77b5b7fe95ce1a433885df1761091bced98d989
Signed-off-by: Gokul Sriram Palanisamy <gpalan@codeaurora.org>"
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoRevert "ipq8064: Fix dwc3 module unloading"
Pavel Kubelun [Thu, 15 Jun 2017 07:45:17 +0000 (03:45 -0400)]
Revert "ipq8064: Fix dwc3 module unloading"

Preparing for proper fixes thus reverting commits:
8db079a9ff1756059250b801617a20baba214684 "ipq8064: Fix dwc3 module unloading"
c75f059b0c4d09dd0da60e14c4933a9f645266d1 "ipq8064: Fix dwc3 module unloading"

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoipq806x: update clk and cpufreq drivers
Pavel Kubelun [Sat, 9 Dec 2017 17:15:05 +0000 (20:15 +0300)]
ipq806x: update clk and cpufreq drivers

A newer clk and cpufreq drivers for ipq806x platform had been sent upstream.

A change that i have noticed is that now it's possible to set min, cur and max frequencies from sysfs (previously it was bugged and caused nothing).

Following patches are removed:
 - 0036-clk-Avoid-sending-high-rates-to-downstream-clocks-du.patch - seems it was dropped from the patchset by current committer.
 - 0044-clk-qcom-krait-Remove-CLK_IS_ROOT.patch - already applied to the driver itself in the corresponding patch.
 - 0057-clk-qcom-Add-regmap-mux-div-clocks-support.patch - seem to be irrelevant to ipq806x.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoipq806x: force 2nd pci slot into gen1 mode
Pavel Kubelun [Thu, 6 Jul 2017 14:20:18 +0000 (17:20 +0300)]
ipq806x: force 2nd pci slot into gen1 mode

According to QSDK and OEM tarballs (checked c2600, r7500v2, r7800) 2nd pci slot (pci1, 2,4 GHz card)) on ap148 based boards should operate in gen1 mode.
EA8500 is an exception and according to GPL pcie0 should operate in gen1 mode.

In previous commit we've added the support for this option, so enable it in DT for affected devices.

QSDK ref:
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=release/endive_preview_cc&id=f3b07fe309027c52fc163149500cedddd707c506

While at it move the phy transmit termination offset value into dtsi file as it's platform specific.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agoipq806x: fix wireless regression
Pavel Kubelun [Fri, 1 Dec 2017 23:26:11 +0000 (02:26 +0300)]
ipq806x: fix wireless regression

In current state there's huge regression on ipq806x target that causes the device to transmit broken/malformed frames that are not corrected/detected by error control mechanisms and other less severe issues.
https://bugs.lede-project.org/index.php?do=details&task_id=1197

This finally had been narrowed down to patch 0071-pcie-qcom-fixes.patch

Meanwhile QSDK contains a handful of commits that add support for ipq806x to upstream qcom pcie driver
https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/log/drivers/pci/host/pcie-qcom.c?h=eggplant
Unfortunately qca developers do not bother to push it upstream.

Using those commits instead of lede 0071 patch fixes mentioned issue and probably many others as it seems that corrupted data has been originating within pcie misconfiguration.

Fixes: FS#1197 and probably others
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
6 years agotools/cmake: update to 3.10.1
Hannu Nyman [Fri, 5 Jan 2018 21:30:02 +0000 (23:30 +0200)]
tools/cmake: update to 3.10.1

Update cmake to 3.10.1
Refresh patches

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
6 years agotools/scons: update to 3.0.1
Hannu Nyman [Fri, 5 Jan 2018 21:27:17 +0000 (23:27 +0200)]
tools/scons: update to 3.0.1

Update scons to 3.0.1

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
6 years agotools/libressl: update to 2.6.4
Hannu Nyman [Fri, 5 Jan 2018 21:22:44 +0000 (23:22 +0200)]
tools/libressl: update to 2.6.4

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
6 years agoxtables-addons: remove from base
Jo-Philipp Wich [Sun, 14 Jan 2018 19:09:15 +0000 (20:09 +0100)]
xtables-addons: remove from base

The package has been moved to the package feed repository to allow for
non-base dependencies such as Perl.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agonetfilter: enable CONFIG_NF_CONNTRACK_MARK from kmod-nf-conntrack
Jo-Philipp Wich [Sun, 14 Jan 2018 19:06:07 +0000 (20:06 +0100)]
netfilter: enable CONFIG_NF_CONNTRACK_MARK from kmod-nf-conntrack

Unconditionally enable connmark support and tie it to the conntrack core
module to allow removing this kernel configuration dependency from the
xtables-addons package.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agofeeds: switch git.lede-project.org URLs to git.openwrt.org
Jo-Philipp Wich [Tue, 16 Jan 2018 15:59:22 +0000 (16:59 +0100)]
feeds: switch git.lede-project.org URLs to git.openwrt.org

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoiwinfo: update to latest git HEAD
Jo-Philipp Wich [Tue, 16 Jan 2018 13:07:59 +0000 (14:07 +0100)]
iwinfo: update to latest git HEAD

5a5e21b nl80211: skip event notifications in wpa_supplicant scan result reply

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agodnsmasq: use SIGINT for dnssec time valid
Kevin Darbyshire-Bryant [Mon, 15 Jan 2018 12:45:21 +0000 (12:45 +0000)]
dnsmasq: use SIGINT for dnssec time valid

Dnsmasq used SIGHUP to do too many things: 1) set dnssec time validation
enabled, 2) bump SOA zone serial, 3) clear dns cache, 4) reload hosts
files, 5) reload resolvers/servers files.

Many subsystems within LEDE can send SIGHUP to dnsmasq: 1) ntpd hotplug
(to indicate time is valid for dnssec) 2) odhcpd (to indicate a
new/removed host - typically DHCPv6 leases) 3) procd on interface state
changes 4) procd on system config state changes, 5) service reload.

If dnssec time validation is enabled before the system clock has been
set to a sensible time, name resolution will fail.  Because name
resolution fails, ntpd is unable to resolve time server names to
addresses, so is unable to set time.  Classic chicken/egg.

Since commits 23bba9cb330cd298739a16e350b0029ed9429eef (service reload) &
4f02285d8b4a66359a8fa46f22a3efde391b5419 (system config)  make it more
likely a SIGHUP will be sent for events other than 'ntpd has set time'
it is more likely that an errant 'name resolution is failing for
everything' situation will be encountered.

Fortunately the upstream dnsmasq people agree and have moved 'check
dnssec timestamp enable' from SIGHUP handler to SIGINT.

Backport the upstream patch to use SIGINT.
ntpd hotplug script updated to use SIGINT.

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
6 years agoramips: use blue status LED for Xiaomi Router 3G
Daniel Gimpelevich [Mon, 15 Jan 2018 16:11:54 +0000 (08:11 -0800)]
ramips: use blue status LED for Xiaomi Router 3G

The blue LED is what other firmwares use for this device, and it's a lot
easier on the eyes than its shade of yellow, which implies an error
condition.

Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
[merge into existing $boardname:blue:status block]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Acked-by: Piotr Dymacz <pepe2k@gmail.com>
Acked-by: Cezary Jackiewicz <cezary@eko.one.pl>
6 years agoramips: add support for TP-Link Archer C20 v4
Maxim Anisimov [Tue, 9 Jan 2018 11:25:53 +0000 (14:25 +0300)]
ramips: add support for TP-Link Archer C20 v4

TP-Link Archer C20 v4 is a router with 5-port FE switch and
non-detachable antennas. It's based on MediaTek MT7628N+MT7610EN.

Specification:
- MediaTek MT7628N/N (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 5x 10/100 Mbps Ethernet
- 3x external, non-detachable antennas
- UART (J1) header on PCB (115200 8n1)
- 7x LED (GPIO-controlled*), 2x button, power input switch

* WAN LED in this devices is a dual-color, dual-leads type which isn't
  (fully) supported by gpio-leds driver. This type of LED requires both
  GPIOs state change at the same time to select color or turn it off.
  For now, we support/use only the green part of the LED.
* MT7610EN ac chip isn't not supported by LEDE. Therefore 5Ghz won't
  work.

Flash instruction:

The only way to flash LEDE image in ArcherC20v4 is to use
tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.0.66/24 and tftp server.
2. Rename "openwrt-ramips-mt7628-ArcherC20v4-squashfs-tftp-recovery.bin"
   to "tp_recovery.bin" and place it in tftp server directory.
3. Connect PC with one of LAN ports, press the reset button, power up
   the router and keep button pressed for around 6-7 seconds, until
   device starts downloading the file.
4. Router will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
6 years agoramips: rename TP-Link Archer C20 to TP-Link Archer C20 v1
Maxim Anisimov [Sat, 13 Jan 2018 07:16:20 +0000 (10:16 +0300)]
ramips: rename TP-Link Archer C20 to TP-Link Archer C20 v1

This changes device name from "TP-Link Archer C20" to "TP-Link Archer C20 v1"
because of TPLINK released new TP-Link Archer C20 v4. Additionally
migration to the generic board detection has been made.

Signed-off-by: Maxim Anisimov <maxim.anisimov.ua@gmail.com>
6 years agoar71xx: fix TP-Link Archer C7 v4 switch LEDs
David Bauer [Sat, 16 Dec 2017 14:43:02 +0000 (15:43 +0100)]
ar71xx: fix TP-Link Archer C7 v4 switch LEDs

Match mapping of the switch LEDs according to the TP-Link
firmware behavior. LAN port 1 triggers the most right LAN LED,
LAN port 2 the second LAN LED from the right and so on.

Signed-off-by: David Bauer <mail@david-bauer.net>
6 years agoramips: add image checks
Chen Minqiang [Thu, 11 Jan 2018 15:43:09 +0000 (23:43 +0800)]
ramips: add image checks

As long as we can't enforce image metadata, we need to use (platform)
image checks to have at least soem kind of validation.

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
6 years agoipq806x: drop ubifs support
Mathias Kresin [Sun, 14 Jan 2018 22:21:38 +0000 (23:21 +0100)]
ipq806x: drop ubifs support

Ubifs is disabled for all boards except the evaluation boards and the
Fritz!Box 4040 anyway. According the author, the ubifs support for the
Fritz!Box 4040 wasn't enabled on purpose.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoipq806x: drop legacy image leftovers
Mathias Kresin [Sun, 14 Jan 2018 21:20:40 +0000 (22:20 +0100)]
ipq806x: drop legacy image leftovers

Remove leftover code used for legacy images. There are no relevant
binary differences for the images after removing the legacy leftovers.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoipq806x: unset filesystem specific build command by default
Mathias Kresin [Sun, 14 Jan 2018 20:39:42 +0000 (21:39 +0100)]
ipq806x: unset filesystem specific build command by default

Initialise the filesystem specific build command. Otherwise it will be
unintended inherit to following images and will cause a wrong image
format.

The issue is around for ages but was only recently triggered due to the
added support for the Openmesh a42.

Fixes: FS#1276
Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoipq806x: remove unnecessary filesystem specific build
Mathias Kresin [Sun, 14 Jan 2018 20:38:08 +0000 (21:38 +0100)]
ipq806x: remove unnecessary filesystem specific build

The Openmesh factory image doesn't need a squashfs specific build command.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agoipq806x: use bin file extension for sysupgrade-tar images
Mathias Kresin [Sun, 14 Jan 2018 21:03:41 +0000 (22:03 +0100)]
ipq806x: use bin file extension for sysupgrade-tar images

Use the file extension bin for sysupgrade-tar images to unify the file
extension across the target/tree.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years agouqmi: fix raw-ip mode for newer lte modems
Koen Vandeputte [Mon, 27 Nov 2017 17:31:30 +0000 (18:31 +0100)]
uqmi: fix raw-ip mode for newer lte modems

Some newer LTE modems, like the MC7455 or EC25-E do not support
"802.3" mode, and will stay in "raw-ip" regardless of the mode being
set.

In this case, the driver must be informed that it should handle all
packets in raw mode. [1]

This commit fixes connectivity issues for these devices.

Before:

[ Node 5 ] udhcpc -i wwan0
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover

After:

[ Node 5 ] udhcpc -i wwan0
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for 100.66.245.226
udhcpc: lease of 100.66.245.226 obtained, lease time 7200
udhcpc: ifconfig wwan0 100.66.245.226 netmask 255.255.255.252 broadcast
+
udhcpc: setting default routers: 100.66.245.225

[1] https://lists.freedesktop.org/archives/libqmi-
devel/2017-January/002064.html

Tested on cns3xxx using a Sierra Wireless MC7455 LTE-A

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[bumped PKG_RELEASE]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoar71xx: image: rework EnGenius ENS202EXT factory image
Piotr Dymacz [Mon, 15 Jan 2018 12:30:19 +0000 (13:30 +0100)]
ar71xx: image: rework EnGenius ENS202EXT factory image

Current EnGenius ENS202EXT factory image recipe version causes factory
images of the following devices to be corrupted. This issue wasn't
visible until recent changes of image Makefile snippets order.

Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agotools: make-ext4fs: remove LEDE_GIT references
Jo-Philipp Wich [Sun, 14 Jan 2018 18:02:45 +0000 (19:02 +0100)]
tools: make-ext4fs: remove LEDE_GIT references

Change the make-ext4fs Makefile to use the common PROJECT_GIT
variable instead.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoomap24xx: remove referece to not existing kmod-usb-musb-tusb6010
Jo-Philipp Wich [Mon, 15 Jan 2018 12:09:05 +0000 (13:09 +0100)]
omap24xx: remove referece to not existing kmod-usb-musb-tusb6010

Remove leftover reference to a not existing kmod-usb-musb-tusb6010 from
the omap24xx target, the corresponding module is built into the kernel.

Fixes: 96815fe0a2 ("kernel: remove omap24xx specific kernel module packages")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years ago6rd: pass ipcalc as argument to eval
Hans Dedecker [Sat, 13 Jan 2018 10:05:46 +0000 (11:05 +0100)]
6rd: pass ipcalc as argument to eval

Instead of grepping for NETWORK after calling ipcalc.sh; pass ipcalc.sh as
argument to eval allowing to use $NETWORK to retrieve the IPv4 prefix
(ip4prefix).

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
6 years agoar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC)
Roger Pueyo Centelles [Mon, 8 Jan 2018 11:55:05 +0000 (12:55 +0100)]
ar71xx: add support for MikroTik RouterBOARD wAP G-5HacT2HnD (wAP AC)

This patch adds support for the MikroTik RouterBOARD wAP G-5HacT2HnD (wAP
AC), a small weatherproof dual band, dual-radio 802.11ac wireless AP with
integrated omnidirectional anntennae and one 10/100/1000 Mbps Ethernet
ports.

See https://mikrotik.com/product/RBwAPG-5HacT2HnD for more info.

Specifications:
 - SoC: Qualcomm Atheros QCA9556
 - RAM: 64 MB
 - Storage: 16 MB NOR
 - Wireless:
   Â· Atheros AR9550 (SoC) 802.11b/g/n 2x2:2, 2 dBi antennae
   Â· Qualcomm QCA9880 802.11a/n/ac 3x3:3, 2 dBi antennae
 - Ethernet: Atheros AG71xx (SoC, AR8033), 1x 1000/100/10 port, passive
   PoE in

Working:
 - Board/system detection
 - Sysupgrade
 - Serial console
 - Ethernet
 - 2.4 GHz radio
 - 5 GHz radio
 - Reset button

Not working:
 - LEDs (added according to Mikrotik's GPL sources but not functional)

 Unsupported:
 - ZT2046Q SPI temperature and voltage sensor

Contributors: Giuseppe Tipaldi (@Ciusss89)
              Ricky (@rickydee)

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: whitespace fix, use PHYADDR instead of PHYMASK]

6 years agoar71xx: kernel: enable PCI on QCA9556 SoC
Roger Pueyo Centelles [Mon, 8 Jan 2018 11:30:28 +0000 (12:30 +0100)]
ar71xx: kernel: enable PCI on QCA9556 SoC

This patch enables the PCI bus on the QCA9556 SoC, the same way it is
done on the same family SoC QCA9558.

Tested on a MikroTik RouterBoard wAPG-5HacT2HnD (wAP AC).

Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
6 years agoramips: add support for ALFA Network AC1200RM
Piotr Dymacz [Sat, 14 Oct 2017 08:44:39 +0000 (10:44 +0200)]
ramips: add support for ALFA Network AC1200RM

ALFA Network AC1200RM is an AC1200 router, with 5-port FE switch and
USB 2.0 port. Device is based on MediaTek MT7620A + MT7612EN.

Specification:

- MT7620A (580 MHz)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 5x 10/100 Mbps Ethernet with passive PoE output in WAN and LAN4
- 2T2R 2.4 GHz (MT7620A)
- 2T2R 5 GHz (MT7612EN)
- 1x USB 2.0
- 9x LED (8 driven by GPIO)
- 1x button (reset)
- DC jack for main power input (12-24 V)
- 2x UART, I2C, I2S and LED headers

Flash instruction (do it under U-Boot, using UART and TFTP server):

Select option "2: Load system code then write to Flash via TFTP" and
use "sysupgrade" image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agouboot-envtools: add support for GL.iNet GL-AR750
Piotr Dymacz [Tue, 17 Oct 2017 21:32:11 +0000 (23:32 +0200)]
uboot-envtools: add support for GL.iNet GL-AR750

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: add support for GL.iNet GL-AR750
Piotr Dymacz [Tue, 17 Oct 2017 21:30:01 +0000 (23:30 +0200)]
ar71xx: add support for GL.iNet GL-AR750

GL.iNet GL-AR750 is a small size, dual-band (AC750) router, based on
Qualcomm/Atheros QCA9531 v2 + QCA9887. FCC ID: 2AFIW-AR750.

Specification:

- 650/597/216 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 3x 10/100 Mbps Ethernet
- 2T2R 2.4 GHz (QCA9531)
- 1T1R 5 GHz (QCA9887)
- 1x USB 2.0 (power controlled by GPIO)
- 1x microSD (GL857L)
- 3x LED (all driven by GPIO)
- 1x button (reset)
- 1x 2-pos switch
- header for optional PoE module
- 1x micro USB for main power input
- UART + I2C header on PCB

Flash instruction:

Vendor firmware is based on OpenWrt/LEDE. GUI or sysupgrade can be used
to flash OpenWrt/LEDE firmware.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: image: move Sitecom WLR-8100 from legacy to generic
Piotr Dymacz [Thu, 23 Nov 2017 13:27:39 +0000 (14:27 +0100)]
ar71xx: image: move Sitecom WLR-8100 from legacy to generic

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: fix Sitecom WLR-8100 support
Davide Fioravanti [Sun, 19 Nov 2017 20:11:10 +0000 (21:11 +0100)]
ar71xx: fix Sitecom WLR-8100 support

This patch fixes Sitecom WLR-8100:

- mtd layout
- LAN and WAN MAC address setup
- 2.4 GHz Wi-Fi MAC address setup
- 5 GHz Wi-Fi support (calibration data, MAC address setup, missing
  ath10k-* packages)

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
[squashed commits, fixed whitespace issues, reworded commit message]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agouboot-envtools: add support for ALFA Network R36A
Piotr Dymacz [Thu, 28 Dec 2017 10:08:22 +0000 (11:08 +0100)]
uboot-envtools: add support for ALFA Network R36A

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: add support for ALFA Network R36A
Piotr Dymacz [Thu, 28 Dec 2017 10:07:54 +0000 (11:07 +0100)]
ar71xx: add support for ALFA Network R36A

ALFA Network R36A is a successor of the previous model, the R36 (Ralink
RT3050F based). New version is based on Qualcomm/Atheros QCA9531 v2.

Specification:

- 650/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R (QCA9531) 2.4 GHz, 2x u.fl connectors on PCB
- 1x USB 2.0 (power controlled by GPIO)
- 6x LED (5 of them are driven by GPIO)
- 2x button (reset, wifi/wps)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- DC jack for main power input (12 V)
- UART header on PCB

Flash instruction:

You can use sysupgrade image directly in vendor firmware which is based
on LEDE/OpenWrt. Alternatively, you can use web recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
   device, wait for first blink of all LEDs (indicates network setup),
   then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: add support for Teltonika RUT900
Piotr Dymacz [Sun, 15 Oct 2017 11:24:02 +0000 (13:24 +0200)]
ar71xx: add support for Teltonika RUT900

Teltonika RUT900 is an industrial 3G router based on Atheros AR9344.

There are available 3 other models in RUT9xx series: RUT905, RUT950 and
RUT955, which differ in availability of additional I/O ports, built-in
GSM modem type, GPS antenna and other features. FCC ID of the RUT950
model (LTE module built-in): 2AET4-RUT950.

This patch adds support for the RUT900 model only but can be easily
extended to cover whole series. Also, as there are several different
3/4G modules (Huawei, Quectel, Telit) used in whole series, packages
required for WWAN support are not included by default. It is up to the
user to install required software for built-in modem.

Specification:

- 550/400/200 MHz (CPU/DDR/AHB)
- 128 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 4x 10/100 Mbps Ethernet, with passive PoE support on LAN1
- 2T2R 2,4 GHz (AR9344), with ext. PA (MGA-22103) and LNA
- built-in 3G module (example: Telit HE910-D)
- 2x miniSIM slot
- 2x RP-SMA/F (Wi-Fi), 2x SMA/F (3G)
- PCA9539 16-bit GPIO I2C expander
- 12x LED (4 are driven by AR9344, 7 by PCA9539)
- 1x button (reset)
- DC jack for main power input (9-30 V)
- UART available on PCB edge connector

Serial console pinout:

- RX: pin1 (square) on top side of the main PCB (AR9344 is on top)
- TX: pin1 (square) on bottom side

Flash instruction:

Vendor firmware is based on OpenWrt CC release. Use the "factory" image
directly in GUI (make sure to uncheck "keep settings") or in U-Boot web
based recovery. To avoid any problems, make sure to first update vendor
firmware to latest version - "factory" image was successfully tested on
device running "RUT9XX_R_00.03.960" firmware and U-Boot "3.0.1".

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agouboot-envtools: add support for ALFA Network N5Q
Piotr Dymacz [Fri, 5 Jan 2018 10:37:11 +0000 (11:37 +0100)]
uboot-envtools: add support for ALFA Network N5Q

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: add support for ALFA Network N5Q
Piotr Dymacz [Fri, 5 Jan 2018 10:35:45 +0000 (11:35 +0100)]
ar71xx: add support for ALFA Network N5Q

ALFA Network N5Q is a successor of previous model, the N5 (outdoor
CPE/AP, based on Atheros AR7240 + AR9280). New version is based on
Atheros AR9344.

Specification:

- 550/400/200 MHz (CPU/DDR/AHB)
- 64 MB of RAM (DDR2)
- 16 MB of FLASH (SPI NOR)
- 2x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 2T2R 5 GHz (AR9344), with ext. PA (RFPA5542) and LNA, up to 27 dBm
- 8x LED (7 are driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- header for optional 802.3at/af PoE module
- DC jack for main power input (optional, not installed by default)
- UART header on PCB

Flash instruction:

You can use sysupgrade image directly in vendor firmare which is based
on OpenWrt/LEDE. Alternatively, you can use web recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24.
2. Connect PC with one of RJ45 ports, press the reset button, power up
   device, wait for first blink of all LEDs (indicates network setup),
   then keep button for 3 following blinks and release it.
3. Open 192.168.1.1 address in your browser and upload sysupgrade image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agouboot-envtools: add support for ALFA Network AP91-5G
Piotr Dymacz [Mon, 18 Dec 2017 13:52:39 +0000 (14:52 +0100)]
uboot-envtools: add support for ALFA Network AP91-5G

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: add support for ALFA Network AP91-5G
Piotr Dymacz [Mon, 18 Dec 2017 13:51:28 +0000 (14:51 +0100)]
ar71xx: add support for ALFA Network AP91-5G

ALFA Network AP91-5G is a 5 GHz outdoor AP/CPE board, based on Atheros
AR7240 + AR9280.

Specification:

- 400/400/200 MHz (CPU/DDR/AHB)
- 32 MB of RAM (DDR1)
- 8 MB of FLASH (SPI NOR)
- 1x 10/100 Mbps Ethernet, with passive PoE support (24 V)
- 1T1R 5 GHz (AR9280), with ext. PA (SE5004L) and LNA, up to 27 dBm
- 6x LED (5 are driven by GPIO)
- 1x button (reset)
- external h/w watchdog (EM6324QYSP5B, disabled and not used)
- header for optional 802.3at/af PoE module
- DC jack for main power input (optional, not installed by default)
- UART and LEDs headers on PCB

Flash instruction:

Use "factory" image in vendor GUI (in case of problems, make sure your
board has up to date firmware). Alternatively, TFTP in U-Boot can be
used: select option "2. Load system code then write to Flash via TFTP"
during early boot and use "sysupgrade" image.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: base-files: cosmetic cleanups in preinit scripts
Piotr Dymacz [Sat, 13 Jan 2018 16:46:55 +0000 (17:46 +0100)]
ar71xx: base-files: cosmetic cleanups in preinit scripts

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: base-files: drop LED control from 05_set_iface_mac_ar71xx
Piotr Dymacz [Sat, 13 Jan 2018 16:38:19 +0000 (17:38 +0100)]
ar71xx: base-files: drop LED control from 05_set_iface_mac_ar71xx

There is no "dir-615-c1:green:wancpu" LED defined in mach-dir-615-c1.c

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agoar71xx: base-files: fix boards order in 05_set_preinit_iface_ar71xx
Piotr Dymacz [Sat, 13 Jan 2018 16:08:45 +0000 (17:08 +0100)]
ar71xx: base-files: fix boards order in 05_set_preinit_iface_ar71xx

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
6 years agokernel: add missing config symbol
Stijn Tintel [Sun, 14 Jan 2018 18:50:39 +0000 (20:50 +0200)]
kernel: add missing config symbol

The KEXEC_FILE symbol exists for X86 since kernel 3.17, and since 4.10
for PPC64. Add it to x86/config-4.9 and to generic/config-4.14.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agokernel: add missing DRM symbols to generic config
Stijn Tintel [Sun, 14 Jan 2018 18:40:35 +0000 (20:40 +0200)]
kernel: add missing DRM symbols to generic config

Several new DRM symbols that were introduced after 4.9 are missing in
the generic config for 4.14, so add them.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agokernel: sort generic configs
Stijn Tintel [Sun, 14 Jan 2018 18:31:02 +0000 (20:31 +0200)]
kernel: sort generic configs

Use kconfig.pl to sort the generic kernel configs.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agokernel: move DRM_DEBUG_* symbols to generic config
Stijn Tintel [Sun, 14 Jan 2018 18:06:55 +0000 (20:06 +0200)]
kernel: move DRM_DEBUG_* symbols to generic config

While working on a new target (meson), the kernel build failed due to
missing DRM_DEBUG_MM_SELFTEST symbol. This can potentially happen on all
targets that enable DRM drivers in the kernel config or via kmod
packages, so add it to the generic config and remove it from x86
subtarget configs, together with DRM_DEBUG_MM.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
6 years agometadata: do not emit broken kconfig dependency statements
Jo-Philipp Wich [Sun, 14 Jan 2018 17:46:36 +0000 (18:46 +0100)]
metadata: do not emit broken kconfig dependency statements

Prevent emitting broken dependency statements when resolving references
to non existing packages to an empty provider list.

Fixes: 47d6b05ad3 ("metadata: always resolve dependencies through provides list")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoscripts/feeds: fix install of packages with different source/binary names
Matthias Schiffer [Sun, 14 Jan 2018 16:07:28 +0000 (17:07 +0100)]
scripts/feeds: fix install of packages with different source/binary names

The logic for choice between source and binary packages was reversed.

Fixes: 52719c2b67af "metadata: scripts/feeds: distinguish between source
and binary packages, resolve virtual dependencies"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoar71xx: create new ar71xx/tiny subtarget for 4MB flash devices
Matthias Schiffer [Fri, 12 Jan 2018 15:36:13 +0000 (16:36 +0100)]
ar71xx: create new ar71xx/tiny subtarget for 4MB flash devices

This new subtarget sets the small_flash flag and removes unused kernel
configuration.

small_flash removes KERNEL_KALLSYMS, which saves ~107KB in the default
configuration; removing unneeded hardware support from ar71xx/tiny saves
another ~18KB (both after LZMA).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoar71xx/generic: add generic- prefix to vendor-specific image Makefile snippets
Matthias Schiffer [Fri, 12 Jan 2018 00:42:11 +0000 (01:42 +0100)]
ar71xx/generic: add generic- prefix to vendor-specific image Makefile snippets

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoar71xx: reorganize kernel configuration
Matthias Schiffer [Fri, 12 Jan 2018 05:19:29 +0000 (06:19 +0100)]
ar71xx: reorganize kernel configuration

Rather than including all machines for the generic subtarget in the base
configuration, leave the base configuration without specific machines and
create a proper subtarget config for ar71xx/generic. The configuration
diffs of the mikrotik and nand subtargets get significantly shorter, as
will the configurations of future subtargets.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoar71xx: disable devicetree support
Matthias Schiffer [Wed, 10 Jan 2018 23:22:42 +0000 (00:22 +0100)]
ar71xx: disable devicetree support

While we'd like to convert ar71xx to DT-based configuration
eventually, we aren't quite there yet, and shipping half-baked DT support
that is not used at all wastes precious space.

Saves ~120KB before LZMA, ~33KB after LZMA.

Run-tested on TP-Link CPE510 and TL-WR841 v7.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoath9k, ath10k(-ct): move spectral scan support under a separate config symbol
Matthias Schiffer [Wed, 10 Jan 2018 20:46:46 +0000 (21:46 +0100)]
ath9k, ath10k(-ct): move spectral scan support under a separate config symbol

Backport patches that separate spectral scan support from general debugfs
support of ath9k/ath10k; this allows to remove the dependency on
KERNEL_RELAY from these driver packages even with debugfs enabled and
avoids the memory footprint of the relay buffers allocated by ath9k/ath10k
even when they aren't used at all.

The KERNEL_RELAY dependency is moved to a new config symbol that enables
spectral scan support in these drivers.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: improve code readability by using (s)printf instead of string interpolation
Matthias Schiffer [Mon, 8 Jan 2018 17:47:04 +0000 (18:47 +0100)]
metadata: improve code readability by using (s)printf instead of string interpolation

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agoinclude/package-dumpinfo.mk: don't duplicate source package information for every...
Matthias Schiffer [Mon, 8 Jan 2018 14:02:38 +0000 (15:02 +0100)]
include/package-dumpinfo.mk: don't duplicate source package information for every binary package

Eventually the BUILDONLY package flag could be replaced by simply creating
a package Makefile without any BuildPackage calls. This will fail for now,
as BuildPackage also causes the Makefile's compile target etc. to do
something useful at all.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agobuild: remove obsolete "package feature" feature
Matthias Schiffer [Mon, 8 Jan 2018 11:31:03 +0000 (12:31 +0100)]
build: remove obsolete "package feature" feature

Package "features" seem to be unused for some time. In any case, custom
Config.in snippets and package PROVIDES are a much more flexible way to
express similar options.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: scripts/feeds: distinguish between source and binary packages, resolve...
Matthias Schiffer [Thu, 11 Jan 2018 17:38:42 +0000 (18:38 +0100)]
metadata: scripts/feeds: distinguish between source and binary packages, resolve virtual dependencies

Properly resolve build depends to source packages and runtime depends to
binary packages. Dependencies on virtual packages are resolved to the first
provider now.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: always resolve dependencies through provides list
Matthias Schiffer [Mon, 8 Jan 2018 11:17:30 +0000 (12:17 +0100)]
metadata: always resolve dependencies through provides list

Instead of adding virtual packages to the normal package list, keep a
separate list for provides, make each package provide itself, and resolve
all dependencies through this list. This allows to use PROVIDES to replace
existing packages.

Fixes FS#837.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: simplify generation of build depends from runtime depends
Matthias Schiffer [Mon, 8 Jan 2018 10:07:37 +0000 (11:07 +0100)]
metadata: simplify generation of build depends from runtime depends

Runtime depends cannot have a buildtype suffix, and they never refer to
source package names. In addition, this adds warnings about unsatisfiable
dependencies.

Furthermore, this change fixes the generation of conditional build
dependencies for virtual packages provided by different source packages.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: handle target build depends together with host build depends
Matthias Schiffer [Sun, 7 Jan 2018 22:11:11 +0000 (23:11 +0100)]
metadata: handle target build depends together with host build depends

Target build depends are similar to host build depends in that they refer
to source packages rather than binary packages. Therefore, it makes sense
to handle them together, rather than putting them in a list together with
runtime depends and trying to figure out if the entries refer to source or
to binary packages afterwards.

This does lead to PKG_BUILD_DEPENDS entries referring to binary package
names not working anymore, which requires some fixes in the package
repositories.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agotreewide: fix build depends to refer to source package names
Matthias Schiffer [Sun, 7 Jan 2018 19:41:06 +0000 (20:41 +0100)]
treewide: fix build depends to refer to source package names

Build depends must refer to source packages rather than binary package
names.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agobuild: remove package preconfig feature
Matthias Schiffer [Sun, 7 Jan 2018 12:05:23 +0000 (13:05 +0100)]
build: remove package preconfig feature

This feature has been unused for years, and its scope is too limited to be
actually useful.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: remove redundant fields from package hash
Matthias Schiffer [Sat, 6 Jan 2018 18:44:52 +0000 (19:44 +0100)]
metadata: remove redundant fields from package hash

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: replace %subdir hash with a path field in source packages
Matthias Schiffer [Sat, 6 Jan 2018 18:28:52 +0000 (19:28 +0100)]
metadata: replace %subdir hash with a path field in source packages

Every single reference to subdir was concatenated with the source package
name, so it makes sense to store the concatenated value instead.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: change pkg->{src} field to hold a reference
Matthias Schiffer [Sat, 6 Jan 2018 17:01:25 +0000 (18:01 +0100)]
metadata: change pkg->{src} field to hold a reference

We often want to access fields of a source packages through pkg->{src}.
Allow accessing them directly instead of resolving the source hash through
srcpackages.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: interate over source packages when generating Makefile
Matthias Schiffer [Sat, 6 Jan 2018 16:12:03 +0000 (17:12 +0100)]
metadata: interate over source packages when generating Makefile

All build dependencies are between source packages. Interating over source
rather than binary packages simplifies parts of the code and prepares
further improvement.

As a side effect, this changes the implicit default variant of a few
packages (the first defined is used now instead of the lexicographically
first).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: move 'builddepends' from binary to source packages
Matthias Schiffer [Sat, 6 Jan 2018 13:49:08 +0000 (14:49 +0100)]
metadata: move 'builddepends' from binary to source packages

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: move 'buildtypes' from binary to source packages
Matthias Schiffer [Sat, 6 Jan 2018 12:53:42 +0000 (13:53 +0100)]
metadata: move 'buildtypes' from binary to source packages

Build types are a property of source rather than binary packages. This is a
preparation for followup cleanup.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: make srcpackage extensible
Matthias Schiffer [Thu, 4 Jan 2018 18:52:18 +0000 (19:52 +0100)]
metadata: make srcpackage extensible

Turn the srcpackage values into hashes to allow storing more information
than just binary package names.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agometadata: remove 'base-files' special case
Matthias Schiffer [Thu, 4 Jan 2018 17:19:28 +0000 (18:19 +0100)]
metadata: remove 'base-files' special case

Nothing explicitly depends on base-files, and even if it would, it would
not cause any problems. Remove the unused special case.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
6 years agofstools: update to latest git HEAD
John Crispin [Sat, 13 Jan 2018 15:28:42 +0000 (16:28 +0100)]
fstools: update to latest git HEAD

18090d9 overlay: fix compilation with glibc
2a9a6ea libfstools: optimize building directory string for glob
de6b026 libfstools: support file paths longer than 255 chars

Signed-off-by: John Crispin <john@phrozen.org>
6 years agoconfig: support new symbol intro'd in kernel 4.12
Koen Vandeputte [Thu, 11 Jan 2018 11:55:02 +0000 (12:55 +0100)]
config: support new symbol intro'd in kernel 4.12

Symbol CONFIG_INITRAMFS_FORCE allows to ignore the value passed by the
bootloader.

By default, all symbols containing INITRAMFS are wiped from the final
config and then re-added conditionally.

Add support for this symbol, as the build will stop otherwise
questioning the user about this option:

* Restart config...
*
*
* General setup
*
Cross-compiler tool prefix (CROSS_COMPILE) []
Compile also drivers which will not load (COMPILE_TEST) [N/y/?] n

...

Initial RAM filesystem and RAM disk (initramfs/initrd) support
(BLK_DEV_INITRD) [Y/n/?] y
Initramfs source file(s) (INITRAMFS_SOURCE) []
Ignore the initramfs passed by the bootloader (INITRAMFS_FORCE)
[N/y/?] (NEW)

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
6 years agotarget: disable CONFIG_PROC_PAGE_MONITOR on most targets
Jo-Philipp Wich [Sat, 13 Jan 2018 13:46:11 +0000 (14:46 +0100)]
target: disable CONFIG_PROC_PAGE_MONITOR on most targets

Disable CONFIG_PROC_PAGE_MONITOR in most places and only keep it enabled
for virtual targets such as malta or potent ones like x86.

This saves up to 4KB of uncompressed kernel size and significantly
decreases CPU load under certain workloads.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
6 years agoipq806x: add support for OpenMesh A42
Sven Eckelmann [Thu, 30 Nov 2017 13:30:06 +0000 (14:30 +0100)]
ipq806x: add support for OpenMesh A42

* QCA IPQ401x
* 256 MB of RAM
* 32 MB of SPI NOR flash (s25fl256s1)
  - 2x 15 MB available; but one of the 15 MB regions is the recovery image
* 2T2R 2.4 GHz
  - QCA4019 hw1.0 (SoC)
  - requires special BDF in QCA4019/hw1.0/board-2.bin with
    bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=OM-A42
* 2T2R 5 GHz
  - QCA4019 hw1.0 (SoC)
  - requires special BDF in QCA4019/hw1.0/board-2.bin with
    bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=OM-A42
* multi-color LED (controlled via red/green/blue GPIOs)
* 1x button (reset; kmod-input-gpio-keys compatible)
* external watchdog
  - triggered GPIO
* 1x USB (xHCI)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x gigabit ethernet
* powered only via POE
  - 802.3af POE on Ethernet 1
  - 18-24v passive POE (mode B) on Ethernet 2

The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the factory image to the u-boot when the device boots up.

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
6 years agoipq806x: enable gpio watchdog support
Sven Eckelmann [Mon, 8 Jan 2018 17:28:51 +0000 (18:28 +0100)]
ipq806x: enable gpio watchdog support

The kernel driver gpio-wdt or the userspace tool om-watchdog can be used to
trigger external gpio watchdog chips. The gpio-wdt driver has the benefit
that it can be configured together with the rest of the device in the DTS
and better integrates in the OpenWrt via procd.

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
6 years agoom-fwupgradecfg-gen.sh: add support for the A42
Sven Eckelmann [Thu, 30 Nov 2017 13:30:06 +0000 (14:30 +0100)]
om-fwupgradecfg-gen.sh: add support for the A42

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
6 years agobuild: add image command for CE images
Sven Eckelmann [Thu, 30 Nov 2017 13:30:06 +0000 (14:30 +0100)]
build: add image command for CE images

Combined Extended Images V1 can be created easily via the new image
commands using

    IMAGE/sysupgrade.bin/squashfs := append-rootfs | pad-rootfs | combined-ext-image

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
6 years agocombined-ext-image.sh: generate image in temp dir
Sven Eckelmann [Thu, 30 Nov 2017 13:30:06 +0000 (14:30 +0100)]
combined-ext-image.sh: generate image in temp dir

The new build commands operate on the input image and use it again as
output image. This conflicts with the way combined-ext-image.sh was
operating. It required that input and output files are different files and
and that it can write freely to the output file.

This can be avoided when all intermediate build steps by
combined-ext-image.sh are done in a temporary directory. The output file is
then only overwritten in the last step.

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
6 years agouboot-envtools: add OpenMesh A42 support
Sven Eckelmann [Thu, 30 Nov 2017 13:30:06 +0000 (14:30 +0100)]
uboot-envtools: add OpenMesh A42 support

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>