Make toolchain dirs define more consistent between internal and external
toolchains.
Make use of specific dirs also for intenral toolchain and generilize
include and lib inclusion.
Also set TOOLCHAIN_ROOT_DIR for internal toolchain as this is what
packages should use to reference staging toolchain directory.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Some package may needs to enable compatibility option based on the GCC
version.
Currently the GCC version is set based on the default value and doesn't
actually reflect the real value provided by the external toolchain if
used.
Fix this by correctly detecting the GCC version in the external
toolchain and set the correct value in CONFIG_GCC_VERSION.
A new option is added in menuconfig to manually set the GCC version if
needed.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Some packages won't ever have something to patch as they normally
install files or are meta-packages.
For these special packages, disable QUILT refresh.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The option 31 in the RA specifies the DNS search list, the support
to configure this via UCI is missing in case dnsmasq-dhcpv6 is used.
This commit uses the uci option domain (same as is done by odhcpd) to
read and pass the DNS search list to dnsmasq, which is then used by RA.
Hence, with this commit, we are able to configure DNS search list for the
RA messages via the uci config when dnsmsaq-dhcpv6 is used.
Signed-off-by: Rahul Thakur <rahul.thakur@iopsys.eu>
Doing a simple ping to my device shows this:
64 bytes from 10.0.253.101: icmp_seq=1 ttl=64 time=2.00 ms
64 bytes from 10.0.253.101: icmp_seq=2 ttl=64 time=2.02 ms
64 bytes from 10.0.253.101: icmp_seq=3 ttl=64 time=1.68 ms
64 bytes from 10.0.253.101: icmp_seq=4 ttl=64 time=1.91 ms
64 bytes from 10.0.253.101: icmp_seq=5 ttl=64 time=1.92 ms
64 bytes from 10.0.253.101: icmp_seq=6 ttl=64 time=2.04 ms
Some users even report higher values on older kernels:
64 bytes from 192.168.1.10: seq=0 ttl=64 time=0.612 ms
64 bytes from 192.168.1.10: seq=1 ttl=64 time=2.852 ms
64 bytes from 192.168.1.10: seq=2 ttl=64 time=2.719 ms
64 bytes from 192.168.1.10: seq=3 ttl=64 time=2.741 ms
64 bytes from 192.168.1.10: seq=4 ttl=64 time=2.808 ms
The problem is that the governor is set to Ondemand, which causes
the CPU to clock all the way down to 48MHz in some cases.
Switching to performance governor:
64 bytes from 10.0.253.101: icmp_seq=1 ttl=64 time=0.528 ms
64 bytes from 10.0.253.101: icmp_seq=2 ttl=64 time=0.561 ms
64 bytes from 10.0.253.101: icmp_seq=3 ttl=64 time=0.633 ms
64 bytes from 10.0.253.101: icmp_seq=4 ttl=64 time=0.526 ms
In theory, using the Performance governor should increase power draw,
but it looks like it really does not matter for this soc.
Using a calibrated precision DC power supply (cpu idle):
Ondemand
24.00V * 0.134A = 3.216 Watts
48.00V * 0.096A = 4.608 Watts
Performance
24.00V * 0.135A = 3.240 Watts
48.00V * 0.096A = 4.608 Watts
Let's simply switch to the Performance governor by default
to fix the general jittery behaviour on devices using this soc.
Tested on: MikroTik wAP ac
Fixes: #13649
Reviewed-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Thibaut VARÈNE <hacks@slashdirt.org>
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
To support the IXP42x platforms we need a kernel module
for the Epson R7301 RTC so we can load it as an optional
module.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Robert Marko <robimarko@gmail.com>
To support the IXP42x platforms we need a kernel module
for the X1205 RTC so we can load it as an optional module.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Robert Marko <robimarko@gmail.com>
The lib-chacha20 library is missing build rules for big endian
ARM, and since IXP4xx is big endian ARM we need those rules to
build for IXP4xx.
Suggested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This is a partial revert of the deletion of the IXP4xx
target: we restore the APEX boot loader so we can use it
for the NSLU2 and related targets.
The APEX upstream is as dead as it gets so I have applied
OpenWrts old patches on top of the never released
v1.6.10 version and forked it into an OpenWrt variant
on GitHub. If the upstream comes back alive I will
happily switch over to it.
The file refers to the external GitHub, I suppose when
integrating this patch the file should be copied to OpenWrts
file repository and the file link changed.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
The ucidef_set_network_device_* functions in uci-defaults.sh disagree
on whether to use "network-device" or "network_device" in board.json.
With the additional caveat that jshn will translate hyphens (-) into
underscores (_). This casues problems in netifd which expected
"network_device" causing boards which depend on assigning MACs in
board.json via uci-defaults.sh (or jshn in general) to fail.
This commit addresses the issue by using network_device in
uci-defaults.sh.
The bug was uncovered in the forums here:
https://forum.openwrt.org/t/support-for-rtl838x-based-managed-switches/57875/2596
This was exposed by commit 4ebba8a05d ("realtek: add support for HPE
1920-8g-poe+") where the board_config_load call from 03_gpio introduced
the key normalization by jshn.
Fixes: 9290539ca9 ("base-files: allow setting device and bridge macs")
Tested-by: Stijn Segers <foss@volatilesystems.org>
Signed-off-by: Michael 'ASAP' Weinrich <michael@a5ap.net>
[ improve commit title, description and fix wrong Tested-by tag ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Copy configuration to boot partition (partition 1) instead of root
partition (partition 2) because the root partition is not writable if
it's a suqashfs image.
Move configuration back to root during preinit.
Fixes: https://github.com/openwrt/openwrt/issues/13695
Signed-off-by: Christian Buschau <cbuschau@d00t.de>
479c7f8676d9 cache: make record/hostname lookup case-insensitive
26c97a5a50bf ubus: add a browse flag for suppressing cached ip addresses
c286c51a9bd9 Fix AVL tree traversal in cache_record_find and cache_host_is_known
4035fe42df58 interface: use a global socket instead of per-interface ones
c63d465698c7 cache: dump hostname target from srv records
b42b22152d73 use hostname from SRV record to look up IP addresses
d45c443aa1e6 ubus: add array flag support for the hosts method
Signed-off-by: Felix Fietkau <nbd@nbd.name>
At this moment, 702-phy-Add-2.5G-SGMII-interface-mode.patch cause error
durring kernel compilation:
CC drivers/net/phy/phylink.o
drivers/net/phy/phylink.c: In function 'phylink_get_capabilities':
drivers/net/phy/phylink.c:443:9: error: enumeration value 'PHY_INTERFACE_MODE_2500SGMII' not handled in switch [-Werror=switch]
443 | switch (interface) {
| ^~~~~~
cc1: all warnings being treated as errors
NXP take care of it. Let's port their patch.
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Patches recreated from NXP 6.1 tree:
400-LF-20-3-mtd-spi-nor-Use-1-bit-mode-of-spansion-s25fs.patch
701-staging-add-fsl_ppfe-driver.patch
702-phy-Add-2.5G-SGMII-interface-mode.patch
Patch 703 includes changes made by Christian Marangi, extracted from commit
0d4a547905.
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Some MT7915 devices need to load the second part of the eeprom to
work properly. The mt76 driver is not yet ready to read the pre-cal
data via the NVMEM cell. Therefore, partially revert commit to fix
the device probe issue on some devices.
P.S.
Except for D-Link and Ubnt devices, It is still uncertain whether
pre-cal data is required for other devices in the patch.
This partially reverts commit 9ac891f8c4.
Fixes: https://github.com/openwrt/openwrt/issues/13700
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Telco Electronics X1 has MT7603E and MT7612E PCIe NICs. They are
driven by kmod-mt7603 and kmod-mt76x2.
Ref: 73e0f52b6e ("ramips: add support for Telco Electronics X1")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
The starting address of 'factory' partition is 0x40000, and the
starting address of the next partition is 0x50000. It's obvious
that the correct size for the 'factory' is 0x10000, just like
other MT7620 devices.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
These three devices uses MT7612E PCIe NIC and supported by the
'mt76' driver. So the right frequency limit property should be
`ieee80211-freq-limit`.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
On the ramips target, all 'wmac' nodes in SoC dtsi are enabled by
default except mt7628. There is no need to mark them as 'okay'
again. So these useless properties can be removed.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
This patch converts MT761{0,2,3} PCIe WiFi calibration data to NVMEM
format for legacy Ralink SoCs (MT7620 and Mt7628). The EEPROM size of
the MT7610 and MT7612 is 0x200. there are only three devices uses
MT7613 NIC, ASUS RT-AC1200 V2, COMFAST CF-WR758AC V2 and Keenetic
KN-1613. The EEPROM size of them is 0x4da8.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
This patch converts legacy Ralink SoCs and MT7620 WiFi calibration
data to NVMEM format. The EEPROM size is 0x200.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
The mtd partition node name should be "partition@${offset}".
However, the offsets of the PSG1208 don't match the partition
'reg' properties. This patch correct the wrong offsets.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
The MT7628 integrated wireless is driven by `mt76`, so the right
EEPROM property name is `mediatek,mtd-eeprom`.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
`mtd-mac-address` has been abandoned. Therefore, convert them to
NVMEM format. This patch also removes some useless mtd-mac-address
properties.
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Changes in 1.3 (18 Aug 2023)
- Remove K&R function definitions and zlib2ansi
- Fix bug in deflateBound() for level 0 and memLevel 9
- Fix bug when gzungetc() is used immediately after gzopen()
- Fix bug when using gzflush() with a very small buffer
- Fix crash when gzsetparams() attempted for transparent write
- Fix test/example.c to work with FORCE_STORED
- Rewrite of zran in examples (see zran.c version history)
- Fix minizip to allow it to open an empty zip file
- Fix reading disk number start on zip64 files in minizip
- Fix logic error in minizip argument processing
- Add minizip testing to Makefile
- Read multiple bytes instead of byte-by-byte in minizip unzip.c
- Add memory sanitizer to configure (--memory)
- Various portability improvements
- Various documentation improvements
- Various spelling and typo corrections
Signed-off-by: Nick Hainke <vincent@systemli.org>
IPQ8074 CPUFreq NVMEM support has finally landed upstream, so lets use the
upstreamed version.
This has a benefit of also supporting IPQ8174 (Oak) family for which SMEM
SoC ID-s were also upstreamed.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Binding for ralink EEPROM swap changed from ralink,mtd-eeprom-swap to
ralink,eeprom-swap.
Update every entry.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Improve EEPROME load patches. Reorganize and rework them.
The current patch are bugged and with the case of MTD loading, leaks and
never free the EEPROM read values.
Also add support for loading EEPROM using NVMEM cells.
As a cleanup, change the binding to swap EEPROM read from mtd to
ralink,eeprom-swap and generilize it.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
A typo snuck in with the addition of Cudy M1800, changing
"nr7101" to "nt7101". The result is a default network config
for NR7101 without the only ethernet interface on the NR7101,
thereby soft bricking it.
Fixes: f6d394e9f2 ("ramips: add support for Cudy M1800")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
SBL will configure IPQ807x cores to boot at 800MHz as a safe default
frequency that is provided by GPLL0, but GPLL0 is not currently configured
as a possible parent in the APSS clock driver not being passed to it via
DTS which will then cause the kernel to not properly identify the current
CPU frequency during booting and will think that CPU is currently at XO
frequency of 19.2MHz instead of 800MHz cores are actually at and print:
cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 19200 KHz, changing to: 1017600 KHz
So, lets import patches pending upstream to prevent GPLL scaling and feed
the GPLL0 clock to APSS clock driver so we get:
cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 800000 KHz, changing to: 1017600 KHz
This is mostly cosmetic fix, but with all of the possible SBL and FW
versions there could be edge cases resolved by this and not scaling GPLL-s
anymore.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Disable new ksym globally as OpenWrt does not have any targets that
use A520 cores.
Reviewed-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: John Audia <therealgraysky@proton.me>
Synchronize the ath11k backports with the current ath-next tree.
All of the changes are various bugfixes, there is no new major feature.
Notable bugfixes are:
* WCN6855 board name fixes
* One MSI vector booting is working again
This is rather important for most of the older platforms.
* DFS CAC state in virtual interfaces was fixed
* TX power during CAC reporting
Signed-off-by: Robert Marko <robimarko@gmail.com>
DFS CAC time export is required for backport of a ath11k fix so lets
backport the required cfg80211 upstream commit as well.
Signed-off-by: Robert Marko <robimarko@gmail.com>