The same GPIO controller is found on all current Siflower SoCs,
with different number of GPIOs. Add ngpios property instead of
specifying it with dt match data.
Link: https://github.com/openwrt/openwrt/pull/17115
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Move SF19A2890 images into a separated .mk in preparation for
more subtargets.
Link: https://github.com/openwrt/openwrt/pull/17115
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
The three packages base-files, libc and kernel are special, the former
can't be upgraded in place since it's content are modified on startup,
the latter two are virtual packages only used as constraints for the
package manager.
Historically base-files was "locked" via a special OPKG function, the
latter two were hidden from the package index and thereby never picked
as possible upgrade.
Time moved forward and we now have APK and tools like OWUT. The latter
compares available packages with installed packages and generates user
readable output, requiring versions for libc and kernel, too. At the
same time, APK uses a different looking mechanism, which is set during
installation instead of part of the package metadata.
In short, this patch adds version constraints to the three packages,
allowing them to be part of the package index.
Fixes: #17774Fixes: #17775Fixes: efahl/owut#31
Signed-off-by: Paul Spooren <mail@aparcar.org>
This reverts commit 3295f6f1c254cd7e5e5285a05581bf6abbde8999.
It looks like the eeprom gets broken after this change.
I think this change was not tested on a real device before it was
merged.
The MAC addresses will be broken again after this revert.
Fixes: #17818
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Make use of ASCII env NVMEM driver for Linksys EAX devices. This also
fix a problem with Linksys EAX devices where the 2 MAC interface had the
same MAC address causing a conflicts with FDB entry. This got much more
present with the DSA conversion making the system not usable.
To fix this, increment + 1 the MAC address for the WAN interface.
Link: https://github.com/openwrt/openwrt/pull/17839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add pending patch to support NVMEM ASCII ENV layout driver. This is a
generic driver to handle simple NVMEM partition that store environment
in a simple text format. This is the case for Linksys devinfo partition
that are litterally txt file with format "name=value\n"
Such driver works similar to u-boot,env with a similar format. While at
it also introduce a patch to generalize mac-base handling for also other
layout driver.
Link: https://github.com/openwrt/openwrt/pull/17839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Fix broken WAN on Linksys EAX and Asrock G10 by incrementing the WAN
interface MAC address + 1. This caused conflicting entry in the FDB
table and caused the WAN port to malfunction with the DSA conversion.
Fixes: #17157Fixes: #15585Fixes: #16604
Link: https://github.com/openwrt/openwrt/pull/17839
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Two commits which made their way into Linux stable broke the SATA
support on the BPi-R64.
Fix this by reverting a node rename which broke DT-overlay application
and import a (still pending) patch re-adding the 'syscon' compatible to
the pciesys clock-controller which also contains phy-mode bits
referenced by the ahci_mtk driver expecting to access them using
syscon_regmap_lookup_by_phandle().
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
b11bff90f2ad r8169: add support for RTL8125BP rev.b
b3593df26ab1 r8169: add support for RTL8125D rev.b
b299ea006928 r8169: adjust version numbering for RTL8126
bb18265c3aba r8169: remove support for chip version 11
2e20bf8cc057 r8169: remove unused flag RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE
e340bff27e63 r8169: copy vendor driver 2.5G/5G EEE advertisement constraints
The EEE advertisement patch has been reworked for linux v6.6 because
phy_set_eee_broken() is only present on linux >= v6.13 and eee_broken_modes
declaration has been converted to a bitmap, so linkmode_set_bit() can't be
used either.
e340bff27eed623fb8e3721aa69e70
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Following the initial support of the Cudy WR3000H with PHY C22 for the 2.5G WAN
interface, several improvements fixing issues with RealTek RTL8221B PHYs have
been merged.
Therefore we can now bring the DT in line with other equipment and declare the
2.5G WAN PHY as C45.
Fixes: 9d66b8b ("mediatek: filogic: Add support for cudy wr3000h")
Signed-off-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17739
[reword commit description]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
On some but not all devices using the RTL8221B 2.5GBit/s PHY the SerDes
setup sequence may hang under some circumstances (eg. <2500M link
partner present during boot).
RTL8221B-VB-CG 2.5Gbps PHY (C45) mdio-bus:01: rtl822xb_config_init failed: -110
Work-around the issue by performing a hardware reset and subsequent
retry of the SerDes setup, which seems to always succeed.
Doing this requires moving ALDPS setup to config_init (which is anyway
the better place for that) as it otherwise doesn't survive the reset.
Also disable listening on MDIO address 0 which may be used by other PHYs
despite being spec'ed as "broadcast address", as bus activity on address
0 may otherwise confuse the RealTek PHY for good reasons.
Tested-by: Luis Mita <luis@luismita.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
With the current LED configuration using "mxl,led-config", the WAN LED
stops working after the interface is brought down and up again.
Since the driver also properly supports PHY LEDs now, switch to that
instead. This makes the LED work properly, but requires configuration
from userspace.
Fixes: #17782
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Link: https://github.com/openwrt/openwrt/pull/17785
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add kmod-drm-i915 to the default packages. It was build into the kernel
before and is now build as a kernel module.
Fixes: 77cfe8fd15d3 ("x86: make i915 as a kmod with required firmware")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/17781
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use 'remove_oem_ubi_volume' function to remove OEM UBI volume before upgrade.
This allows to upgrade even if we have OEM firmware on the second partition.
Applies to Linksys MX4200/MX4300/MX5300/MX8500.
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Signed-off-by: Robert Marko <robimarko@gmail.com>
Update u-boot env variables only when changes are made.
Applies to Linksys MX4200/MX4300/MX5300/MX8500.
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Signed-off-by: Robert Marko <robimarko@gmail.com>
Dual firmware devices like Linksys MX4200, MX4300, MX5300 and MX8500 use separate rootfs partition.
This option helps to keep all configuration during upgrade.
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Signed-off-by: Robert Marko <robimarko@gmail.com>
By switching to the new RTL8231 driver in commit b7af54d5c18c ("realtek:
Simple conversions to RTL8231 MFD driver"), the bootloader state of the
RTL8231's pins is now maintained. As the bootloader de-asserts the PoE
enable signal, this means PoE output is no longer available.
Add a gpio-hog with high output, restoring the line value from when the
pin was configured (by default) as an input with a pull-up resistor.
This will hard-enable the PoE output, but the individual ports can still
be administratively disabled by realtek-poe or a similar tool.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Switch the implementation for the RTL8231 GPIO expander to the new
driver.
This allows specifying the GPIO driving the RTL8231's reset as a proper
MDIO reset line, so the gpio-hog can be dropped. Since it was pinned at
a high level, the reset line is actually active-low (i.e. high when not
in reset).
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Update the common external GPIO DTSI file for the DGS-1210 devices to
use an MDIO device on the auxilairy MDIO bus, as the original driver was
doing behind the screen.
Switching to the new driver will allow for full pin-control and will no
longer reset pin config set by the bootloader.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
The DTS file for the DGS-1210-10P is slightly different from the other
DGS-1210 devices, in that it didn't specify a gpio-restart node when it
was added. The gpio-restart has been found to work on the DGS-1210-10P
as well, so switch it over to the common definitions.
This converts the last device from the product family to the common
definition for the (external) GPIOs.
Tested-by: Michel Thill <jmthill@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
The 'indirect-access-id' property on gpio0 is a remnant from the
original GPIO driver. This property has not been relevant on the SoC's
embedded GPIO controller for a long time, so just drop it.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
The definition for the netgear_wndr4700 had two different
DEVICE_COMPAT_VERSION definitions.
In commit 5815884c3a2 ("apm821xx: migrate to DSA"), an additional
DEVICE_COMPAT_VERSION := 3.0 attribute was added to the device
definition. The old one with version 2.0 stayed and was defined later
overwriting the new one.
Replace the old version 2.0 with the new version 3.0
Fixes: 5815884c3a2a ("apm821xx: migrate to DSA")
Link: https://forum.openwrt.org/t/openwrt-24-10-0-rc6-sixth-release-candidate/222466/43
Link: https://github.com/openwrt/openwrt/pull/17741
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The STM32MP135F-DK board uses the LAN8742 PHY.
Enable CONFIG_SMSC_PHY to have full PHY support.
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/17745
Signed-off-by: Robert Marko <robimarko@gmail.com>
ST1202 controller was added recently, but it was not disabled in the
generic config, so lets avoid individual target configs disabling it
and just disable it in generic config.
Link: https://github.com/openwrt/openwrt/pull/17746
Signed-off-by: Robert Marko <robimarko@gmail.com>
Replace eMMC support with upstream version where we declare dummy clock
and dummy regulator instead of a specific compatible. Also drop the
downstream patch for it.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Refresh cpufreq with merged upstream version. Also fix the PM Domain
rebased patch to correctly expose the symbol for non Mediatek target.
Update dtsi with new pm domain name.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Since commit f1c9afd80138 ("ramips: mt7621-dts: mux phy0/4 to gmac1") the
USW-Flex lan1 port has been attached directly to the CPU. This improves
routing performance but hinders switching.
This is a generally accepted trade-off in that commit but for USW-Flex it
is a questionable choice. This switch is designed to deliver PoE to remote
places and using it as a router is unlikely. Meanwhile, the lan1 port is
also PoE-in and will often be the uplink, carrying most of the traffic.
Reverting f1c9afd80138 for USW-Flex restores full 1 Gbps switching
performance on all ports.
Signed-off-by: Anders Melchiorsen <amelchio@nogoto.net>
Link: https://github.com/openwrt/openwrt/pull/17703
Signed-off-by: Robert Marko <robimarko@gmail.com>
The GW82xx-2x has two network ports. By convention, the first
port (eth0) should be the WAN port and the second port (eth1)
should be the LAN port.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
The act of attempting link at gen1 then trying to link at higher speeds
causes a hang with the specific PCIe switch used on the Gateworks Venice
boards. Work around this by linking at the highest speed first as is
common with all other PCI controller drivers.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add several dt backports for the Gateworks Venice product family.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add a backport of a btsdio patch for the cyw437 bluetooth controller.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/17717
Signed-off-by: Robert Marko <robimarko@gmail.com>
The on-device board name reported by 'ubus call system board' is not present
in the generated profiles.json. This results in upgrade tools being unable
to match the image with the proper device. Let's add a 'SUPPORTED_DEVICES'
entry for the board name to fix this.
Links: https://forum.openwrt.org/t/owut-openwrt-upgrade-tool/200035/441
Links: 2a07270180
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17736
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Fix usage of non-existent 'caldata_patch_mac' function
by using the 'caldata_patch_data' function.
Fixes: #17734
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17737
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
It's possible to add the driver for the Marvell MV88E6xxx DSA
switches using a module package rather than to compile it into
the kernel. For affected devices this saves a bit of space,
the DSA core alone is around 600 KB on ARM.
I could only find one device actually using this switch (I also
checked upstream DTS files) so I have added the package to that
one device.
In the config CONFIG_NET_DSA_TAG_TRAILER and CONFIG_NET_DSA_OCELOT
were also selected, which seems like mistakes. These taggers are
only used by the MV88E6060 and driver which is a separate switch
from MV88E6xxx and the Ocelot drivers such as
CONFIG_NET_DSA_MSCC_FELIX or CONFIG_NET_DSA_MSCC_SEVILLE
and no qoric platform seems to be using them, nor are they
selected in the config.
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250113-mv88e6xxx-modularize-v2-2-3064419615cd@linaro.org/
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
It's possible to add the driver for the Marvell MV88E6xxx DSA
switches using a module package rather than to compile it into
the kernel. For affected devices this saves a bit of space,
typically the DSA core is 600 KB so this and some more is saved
for devices with no DSA switch.
When adding the packages I went over both the upstream DTS files
and the OpenWrt-specific DTS files and used grep 'marvell,mv88e6'
to find the devices using these switches.
Link: https://patchwork.ozlabs.org/project/openwrt/patch/20250113-mv88e6xxx-modularize-v2-1-3064419615cd@linaro.org/
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Change devices with RTL8231 GPIO expander definition that can easily be
translated to the new RTL8231 binding and carry over any gpio-hogs. This
will let them use the new RTL8231 MFD driver, without any functional
changes.
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Import patch "net: phy: realtek: mark existing MMDs as present"
When using Clause-45 mode to access RealTek RTL8221B 2.5G PHYs some
versions of the PHY fail to report the MMDs present on the PHY.
Mark MMDs PMAPMD, PCS and AN which are always existing according to
the datasheet as present to fix that.
Fixes: #16823, #17183, #17232
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Tested-by: Juan Pedro Paredes Caballero <juanpedro.paredes@gmail.com>
Set target as source-only for now as only the Reference Board is
supported and needs to better evaluated with real Devices.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Enable the Aquantia PHY by default in config-defaults. Target is big
enough to permit embedding the PHY instead of having as an external
module.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Update patch with upstream version and automatically refresh with make
target/linux/refresh.
Also backport one additional fix patch for NAND patch and drop a patch
merged upstream.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add patch fixing unmet dependency for QCOM PPE. This fix a compilation
error when SFP config is selected.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add patches adding partition table common to RDP board and node for AQR
NVMEM.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add patch fixing USB regulator as the LDO needs to use ID 5 instead of
ID 2.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport CPUFreq patch and enable RPM. This is to enable CPU Frequency
scaling and regulators.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add initial support for new target with the initial patch for ethernet
support using pending upstream patches for PCS UNIPHY, PPE and EDMA.
Only initramfs currently working as support for new SPI/NAND
implementation, USB, CPUFreq and other devices is still unfinished and
needs to be evaluated.
Link: https://github.com/openwrt/openwrt/pull/17725
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>