This patch bumps the 4.4 kernel from .28 to .30 and refreshes the patches.
Compile-tested on ar71xx, x86/64, ramips/mt7621, brcm47xx and kirkwood.
Run-tested on ar71xx & ramips/mt7621, brcm47xx and kirkwood (last two confirmed
by P. Wassi).
Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
(required not-distributable firmware blob - dump it by yourself from original firmware)
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
(cherry picked from commit 064f467264c5c9b6eca0bb96b587f9412b770cc5)
Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
(required not-distributable firmware blob - dump it by yourself from original firmware)
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
(cherry picked from commit eb0ce57270d0b5b81b224b9336cf54707497eede)
Modified after cherry-pick:
obj in Makefile
Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
Created minimal patchset based on BB rev 43158 by Eddi De Pieri
14.07/openwrt.git 79472c025449efae9310defad0d3a73cff14d756
If the VR9 based router provides FXS ports and they shoud enabled then
the following must added to the kernel command line:
mem=[TOTALMEMSIZE-2M] vpe1_load_addr=ADDRESS vpe1_mem=2M maxvpes=1
maxtcs=1
To use FXS 2M of RAM are needed for the VPE firmware. The size is set
by vpe1_mem.
The available RAM must be reduced by this size using the mem argument.
A correct load address (example 0x83e00000) for the firmware must be given,
too.
Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
(required not-distributable firmware blob - dump it by yourself from original firmware)
Signed-off-by: Eddi De Pieri <eddi@depieri.net>
(cherry picked from commit 8d924d43c0ea6839a3a33e54982e8da48b736001)
Modified after cherry-pick:
compatible attribute
Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
This bugfix enables FXS support on dabube based devices.
Changed "compatible" attribute from "vmmc" to "vmmc-xway".
The vmmc driver uses "vmmc-xway".
Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
Read the temperature including the decimale place from the CGU_GPHY1_CR
register.
Decrement the temperature read from the register by 38.0 degree celsius.
The temperature range of the sensor is -38.0 to +154 °C and the register
value 0 is equal to -38.0 °C. This fixes the report of unrealistic
temperatures as seen on all tested boards.
Give the SoC a few milliseconds to get the first temperature value. On
some rare occasions there is no temperature value in the register when
read the first time after activation. This leads to a reported
temperature of -38.0 °C on boot.
Only version 1.2 of the vr9 SoC has a temperature sensor. Add a check
to make sure the driver doesn't load on v1.1 vr9 SoCs.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The device tree file of ARV752DPW uses numbers/hex values for gpio states and input event codes.
This cleans it up and uses the available macros from header files. This way the functions are easier to read and comprehend.
Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
[sanitize all device tree files]
Signed-off-by: Mathias Kresin <dev@kresin.me>
The GPIO for reset switch is wrong in definition. Further the key codes for the two additional buttons are ineffective.
Both is fixed here.
Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
Use the new image build code and remove the lzma loader. The lzma
loader was used to cheat the signature validation of the bootloader and
I found another way to do this.
To migrate boards already using LEDE/OpenWrt to the new image the
following steps need to be done once:
VR9 # run reset_uboot_config
VR9 # reset
VR9 # setenv ethaddr AA:BB:CC:DD:EE:FF
VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000
VR9 # saveenv
VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin
VR9 # erase 0xb0020000 $(filesize)
VR9 # cp.b 0x81000000 0xb0020000 $(filesize)
The mac address is printed on the label at the bottom of the case.
The following steps are need to be done during first install:
VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000
VR9 # saveenv
VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin
VR9 # erase 0xb0020000 $(filesize)
VR9 # cp.b 0x81000000 0xb0020000 $(filesize)
The image uses the uImage firmware splitter now instead of hardcoded
kernel and rootfs partitions. The firmware partition size was extended
to use flash space that was reserved for partitions required only by
the ECI firmware.
Due to the changes an upgrade to a later LEDE revision from a running
LEDE is supported now.
A default switch config was added and the device uses the same MAC
addresses as the ECI firmware now instead of the same for all VG3503J.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This makes init.d script handle existing UCI entries using the new
trigger. It also switches all targets to use its package.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
The WBMR boards are the only ones in the whole tree selecting the wpad
and hostapd-utils package by default.
Remove the wps uci-default script as well, there is no obvious reason
why the wps config need to be set only for this board.
Signed-off-by: Mathias Kresin <dev@kresin.me>
In case the adsl/vdsl service is disabled intentional, the output is
cluttered with the following message multiple times if the status of
the dsl line is queried:
killall: vdsl_cpe_control: no process killed
If the dsl line status is queried by LuCI, the logfile is spammed with
the message.
Fix the issue by using killall in quite mode. In quite mode killall
still returns a non-zero value if the to be killed process can not be
found so that existing logic based on the return value still works.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Due to the introduced double whitespace the default package selection
isn't applied. This leads to errors like a not working networking
because of a missing swconfig binary.
Fixes FS#208.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Add USB led aliases to boards having an led which is meant to be used
as USB led according to the manuals.
Remove the kmod-ledtrig-usbdev from the default package selection for
boards not having an USB led. Add the kmod-ledtrig-usbdev to boards
where it is missing.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use a more generic name for the lantiq_get_dt_led_chosen function.
Drop the lantiq_is_dt_led_chosen function. The lantiq_get_dt_led
function can be used to achieve the same.
Signed-off-by: Mathias Kresin <dev@kresin.me>
It missed some changes needed for kernel 4.4. This is only used by the
Falcon SoC and not for the xRX SoCs.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Refresh patches for all targets that support kernel 4.4.
compile/run-tested on brcm2708/bcm2710 only.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Local variable declarations outside of functions are illegal since the Busybox
update to v1.25.0, therfore remove them from the appropriate places.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Older busybox versions allowed using the local keyword outside of
functions, whereas 1.25.0 (which was introduced in 06fa1c46fc) do not
allow this anymore (leading to the following error when executing the
script: "file: local: line nn: not in a function").
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Backport patches from upstream Linux kernel which are making the
kernel stores the appended dtb not in the same resisters as defined in
the UHI specification, use a separate variable on MIPS.
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
[some modifications]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
- quote the interface name
- remove call of not existing function
- remove the proto if it's the default proto
Signed-off-by: Mathias Kresin <dev@kresin.me>
No functional change, it's just to have the same style everywhere. This
way I don't need to use any regex magic to extract all subtargets for
compile tests.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Add or fix the physical port number of switch ports to allow LuCI to
display the ports in physical order.
Remove the physical port number in case bridge port and physical port
order are the same.
Reorder the ucidef_add_switch parameter to be aligned with the switch
port number.
Remove board settings which are covered by the default case and remove
comments.
Signed-off-by: Mathias Kresin <dev@kresin.me>
With 12fe4b5798 I switched the ath5k
eeprom extraction to an alternate code path. Unfortunately this code
seams to be broken since ages and broke the ath5k EEPROM extraction.
Reported-by: Mohammed Berdai <mohammed.berdai@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
Acked-by: John Crispin <john@phrozen.org>
GCC treats 24kc and 34kc exactly the same and will generate identical
code, so there is no need to tune to 34kc instead of 24kc.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Device/AVM unconditionally inherits Device/NAND, which changes the
sysupgrade image to sysupgrade-tar (instead of a "raw" sysupgrade image
as used in the Device/Default template).
This moves the Device/NAND call to the FRITZ3370 device definition, as
this is the only AVM/EVA device that uses NAND.
Additionally we have to define the IMAGE_SIZE for the AVM/EVA NOR
devices to ensure that the images are not discarded.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Use priv->wan instead of priv->id as indicator if packets should go to the
Ethernet WAN group (DPID=1) or not (DPID=0). This way, it's independant of
interface names or indexes.
Signed-off-by: Martin Schiller <mschiller@tdt.de>
By default USB LEDs are associated with usbdev trigger. However,
not all devices which have USB LEDs have kmod-ledtrig-usbdev in their
list of default packages. Add it to the relevant devices.
Signed-off-by: Matti Laakso <matti.laakso@outlook.com>
With an own DMA TX channel for each network device (eth0 + eth1) there
won't be any "tx ring full" errors any more.
This patch also move the spinlocks to the channel level instead of locking
the whole xrx200_hw structure.
Signed-off-by: Martin Schiller <mschiller@tdt.de>
According to the author of the cpu temp driver, not all xrx200 boards
have a cpu temperature sensor. For that reason enable the sensor only
for tested boards.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Do not set the lan mac address for boards which having the lan mac
address already set in device tree source file.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The device tree binding and the associated code duplicates functionality
already patched into the etop driver. The compatible string isn't used
any more. Therefore the whole code can be dropped.
The "mac-increment" property allowed to increment a mac address received
via kernel cmdline. This functionality isn't used by any device and
should be added as etop driver device tree property if required again.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use the generic mtd-mac-address dts property to get a mac address from
flash instead of the lantiq specific one.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use the same mac address increment in device tree source file and
userspace.
Don't add a mac address increment to either the only mtd mac-address or
to all mac-addresses.
Fix a typo in the TDW89X0.dtsi file to add an increment.
Signed-off-by: Mathias Kresin <dev@kresin.me>
All device tree nodes are using the named properties now and the code
path handling the reg property isn't required any more.
The code related to the ath,eep-flash property has been reformatted to
be better readable.
Signed-off-by: Mathias Kresin <dev@kresin.me>
There does not seem to be any meaningful difference in generated code.
This will save some time and space on snapshot builds
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Now that the "sysupgrade-nand" step is used by non-NAND targets as well,
rename it to "sysupgrade-tar" to make it more generic.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The device tree description misses some Ethernet ports and there was no
model specified for this board. In addition there was no switch
specific default configuration created.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Both devices were converted to the new image build code but still using
the LegacyDevice define. Therefore an image isn't created for the
mentioned devices.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Specifying the device profile in PROFILES is unnecessary, and for all
devices the DEVICE_PROFILE variable matched the device name.
Get rid of this useless variable and set DEVICE_DTS to $(1)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
It is used by a core build template, so the variable should be
initialized and added to DEVICE_VARS in the core.
Same for DEVICE_DTS_DIR
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Rename uboot environment partition on BT Home Hub 3A so that mac address
setting works correctly.
Also, the mac address field in the ath9k calibration data is not used,
and should not be referenced in the dts.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
This patch was introduced in commit r16412 for the brcm47xx target only
and then moved to generic in commit r32395. It was initially added
because of ticket #5186 and should fix some problems with fuse file
systems and MIPS caches. The commit comment in r32395 says that this a
generic problem in MIPS CPUs, but does not name any specifics about
that. There was a fix added to kernel 2.6.21 in commit commit
7575a49f20 "[MIPS] Implement flush_anon_page()." that should fix this
problem, but that was already available before both commits were done
to OpenWrt.
I just tested fuse with ntfs.3g without this patch on a BCM4704
(BMIPS3300 V0.6) SoC and haven't seen any problems. Someone reported
that removing this patch improves some fuse operations by 5 times on
some modern MIPS cores.
My test was only a simple "dd if=/dev/zero of=/mnt/zero bs=5000" to an
USB stick.
This patch removes the patch to OpenWrt, because I assume that it is
not needed any more and Felix, the orginal author, also thinks so.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
So far the network in failsafe is setup only for one board. Use the
eth0 interface as lan interface for all boards for now.
If a board has its lan interface(s) on another eth, a special
handling based on the board name can be added.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Ethernet, ADSL2+ and LEDs are fully functional.
Supporting the two TAE ports and SIP gateway was not attempted.
The WiFi is unreliable, due to experimental support for rt35xx family
devices by the rt2800pci driver.
Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
[rebase to LEDE HEAD]
[switch to normal image instead of brnboot image]
[remove not required pinmux child nodes keys, leds, ebu, exin, pci_in and pci_out]
[remove switch_rst pinmux child node (no support for hw reset in driver/setting a default GPIO value in DT]
[enable usage of the wireless LED]
[fixup mac address configuration]
Sgned-off-by: Mathias Kresin <dev@kresin.me>
The bootloader uses 30 MHz as the SPI frequency for flash on the Germany and
North America models, and 50 MHz for it on the worldwide model, but the Lantiq
SPI driver in OpenWrt and LEDE may access the flash differently such that
writes are capped at 20 MHz, leading to read errors reported on the worldwide
model at 30 MHz.
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Acked-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
The EASY80920 is available with the A1X and the A2X chip version
depending on the board version. Add both firmware versions to device
tree and make the driver load the correct version depending on the chip
version.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This image format is used by Lantiq's / Intel's UGW version 6.1 to 7.1.
These images can be flashed onto a board with the SoC vendor boot
loader as a replacement for the vendor firmware.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The lantiq kernel arch code selects CONFIG_RESET_CONTROLLER always, so
it is always selected when the lantiq target is build. we do not need
support for unselected CONFIG_RESET_CONTROLLER option.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
The restart event code is used in LEDE to trigger a factory reset on
long press as well.
By using the power event code, the restart functionality can be used
without being prone to trigger a factory reset.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This patch is a follow up to commit 4cf3fd4 "add support for indicating
the boot state using three leds".
At the time of writing the patch, I wasn't aware that it's possible to
switch info failsafe after boot (factory reset).
Enabling the failsafe led without disabling the running led causes an
unexpected led colour on devices using a single multicolour led to
indicate the boot state.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The *_UBIFS_OPTS variables need to be prefixed with DEVICE_ to match
the profile name.
The conditions need to be evaluated after the *_UBIFS_OPTS are set,
otherwise the variables are always empty.
Do not append or pass the DEVICE_ prefixed profile name to the images.
Use the name that is passed by the Image/Build/Profile/ step.
Signed-off-by: Mathias Kresin <dev@kresin.me>
this worked in 3.18 but broke at some point. the old code that loaded a
irq table was incorrewct anyhow as it mapped the irqs int he domain which
should really be done when the driver using them loads them and not the
irq driver itself.
Signed-off-by: John Crispin <john@phrozen.org>
even it's a little bit verbose, unmacrod board descriptions are much
easier to read and to understand.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
The user benpicco in #openwrt reported that images are build which are
bigger that the available flash size.
He provided a proof of concept fix and gave permission to me to send it
for inclusion.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The RJ45 WAN port is used for xDSL as well as the IP101A.
The pins 1,2,3,6 of the RJ45 are connected to the IP101A and the
pins 4,5 are connected to the xdsl chip.
Drop the ip101a-rst node. It can't be controlled and is not required
at all.
Signed-off-by: Mathias Kresin <dev@kresin.me>
The STP pinmux was initially added in assumption LAN2 led is driven by
it. It worked somehow because STP group and gphy0 led0 share the GPIO.
Do it the right way by adding the gphy0 led0 the gphy function.
According to the author, the SPI node is a copy & paste leftover. Which
makes sense since nothing is connected to the SPI bus on this device.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Use the brnboot partition layout as it is listed in the OpenWrt wiki
article for this board.
Configure the brnboot root selector for this device as well.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Cleanup the pinmux configuration by removing the unused spi node. Nothing is connected to the SPI bus on devices.
The stp_out pinmux child node covers the same GPIOs as the already used
stp group.
The same applies to the gphy-leds_out pinmux node and the "gphy0
led1" as well as "gphy1 led0" groups.
Signed-off-by: Mathias Kresin <dev@kresin.me>
This patch fixes the missing Lan interface config in the file
/etc/config/network for ARV4518PWR01/A which results in eth0 and br-lan
being down and therefore no way to access the router unless via UART-TTL.
Signed-off-by: Mohammed Berdai <mohammed.berdai@gmail.com>
The only difference between the VG3503J profiles is the version of the
gphy firmware that gets loaded. This can be handled perfect fine in one
device tree source file.
Signed-off-by: Mathias Kresin <dev@kresin.me>
VGV7510KW2 with VRX288 v1.2 has brnboot 1.8 installed. Starting with
this brnboot version, the "GPHY Clock Source" isn't set anymore by
brnboot, with the result that xrx200-net fails to probe/initialize the
phys.
Use the phy clock source device tree binding to specify the clock source.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 49284
brnboot based devices can have two Image partitions. When flashing
images via the brnboot recovery web interface, the Image partitions are
written alternating.
The current active Image partition is stored in the first byte of the
Primary_Setting partition by using 0x00 for Code_Image_0 and 0x01 for
Code_Image_1.
By using the information about the active "Code Image", it is possible
to ensure that the rootfs belongs to the current booted Image/Kernel.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 49281
Starting with kernel 4.4, the use of partitions as direct subnodes of the
mtd device is discouraged and only supported for backward compatiblity
reasons.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 49280
Use the same name for TP-Link images as it was with the old image build
code.
Move the BOARD_ID export to the TP-Link image build recipe, to indicate
that the variable is only related in this context.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 49279
Based on the vg3503j_gphy_led.sh script published in the VG3503J wiki
article, the OEM Firmware uses the following PHY led functionality:
gphy led 0: LINK/ACTIVITY
gphy led 1: LINK
gphy led 2: ACTIVITY
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 49278
The VGV7510KW22 has the leds for LAN1-3 connected to pin1 of the phys
and the led for LAN4 connect to pin0 of the phy. This results with the
current configuration in a fast flashing LAN4 led as soon as a network
cable is connected. Something similar was reported on the forum[1] for
the VGV7519 as well.
Since it isn't predicable to which pin a (single) phy led is connected,
use the (default) pin1 functionality
Constant On: 10/100/1000MBit
Blink Fast: None
Blink Slow: None
Pulse: TX/RX
for all ethernet phy leds.
After checking pictures of all vr9 boards, it looks like only the VG3503J
has more than one led connected per phy. Using the phy led device tree
bindings to assign the functionality to the "additional" leds, the
VG3503J phy leds should behave as before.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
[1] https://forum.openwrt.org/viewtopic.php?pid=321523
SVN-Revision: 49270
Commit 8c130dd (lantiq: use new image build process for some images) broke
image generation for the xway target since the generated macros reference not
existing WBMRA.dts and WBMRB.dts files leading to the following build error:
mips-openwrt-linux-musl-cpp: error: ../dts/WBMRA.dts: No such file or directory
mips-openwrt-linux-musl-cpp: warning: '-x assembler-with-cpp' after last input file has no effect
mips-openwrt-linux-musl-cpp: fatal error: no input files
Previously both the WBMRA and WBMRB profiles shared a common WBMR DT since
the only difference is the embedded firmware kmod package.
Extend the lantiqImage macro to optionally support specifying a different
DTS file and use this facility to let the both WBMR profiles reference the
correct device tree file.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The dwc2 USB driver now works on Lantiq ar9, but the
default is still ltq-hcd-ar9. This patch switches to
dwc2 by default.
v2: all ar9 boards (v1 was just for BTHOMEHUBV3A and WBMR)
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
SVN-Revision: 49254
The only way to access the u-boot console on the BTHOMEHUBV3A
is by soldering a serial console onto some really tiny pads.
To enable installation without soldering it would be helpful
to be able to modify the uboot environment from within
the ramdisk image used as part of the installation process.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
SVN-Revision: 49253
Remove read-only flag on two partitions on BTHOMEHUBV3A:
uboot-config - otherwise fw_setenv command cannot be used.
ath9k-cal - so that ath9k calibration data can be copied
to the partition on a newly installed board.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
SVN-Revision: 49250
LZMA compress the kernel without dictionary, otherwise brnboot fails to
uncompress the kernel.
The filesystem parameter of mkbrncmdline was dropped since the used
filesystem isn't exported in the kernel build step and at least in my
tests everything works without the parameter. If the parameter is
required for some reason, the static keyword "squashfs" can be used.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 49241
Set the kernel entry address to the same value as it is used for the old
image build build process.
Fixes boot of uImages on VGV7510KW22NOR and others.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 49237
This adds for some easy images the new build process.
This was only tested on some TP-Link devices, please test.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 49210
According to the calling convention of the o32 ABI the
caller function must reserve stack space for $a0-$a3
registers in case the callee needs to save its arguments.
The assembly startup code does not reserve stack space
for these registers thus when the main C function needs
to save its arguments, that will cause a stack overflow.
Fix the assembly code to reserve stack space for the
registers to avoid that.
Compile tested only.
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 49061
Instead of using our patch-dtb program just place the device tree
behind the kernel binary and then let the in kernel mechanism fetch it.
This also adds support for having the device tree file in the boot
loader.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 49050
Avoids inadvertent file creation when executing
`/etc/init.d/dsl_control status`.
Signed-off-by: Jonathan A. Kollasch <jakllsch@kollasch.net>
SVN-Revision: 48700
With the backport of the kernel 4.5 pinctrl-xway patches (3551609d &
826bca29) the pinmux group "spi" was splitted into "spi_di", "spi_do" &
"spi_clk". But the no longer existing group "spi" is still used by some
device tree source files.
This fixes the detection of the wireless chipset of the VGV7510KW22.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48658
The stock u-boot doesn't disable unused flash banks. Therefore, the nand
driver tries to initialize a not connected NOR flash and the device
hangs on boot.
Workaround the issue by selecting the second flash bank (NAND).
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48657
All other SoC types are using "lantiq,sram" and "simple-bus" to ensure
that all child nodes are set up correctly during linux kernel
initialization (plat_of_setup(void) in arch/mips/lantiq/prom.c). Without
this some of sram child nodes might not be parsed.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48548
This removes a lot of duplicate register and interrupt definitions by
moving the xrx200-net definition to vr9.dtsi and making all devices re-
use it.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48547
r48381 added CONFIG_MTD_SPLIT_UIMAGE_FW=Y to the lantiq kernel
configuration. That unfortunately contains a typo since the "y" has to
be lower-case. This leads to the kernel asking whether the config
symbol should be enabled and thus breaking the build.
FIXES: r48381/feab990887b4: lantiq: Enable the uImage mtd splitter
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48389
Until linux 4.1 the lantiq target used CONFIG_MTD_UIMAGE_SPLIT=y. That
option however is only available until linux 4.3 - thus it was not added
to lantiq's 4.4 kernel config (in r48307). This results in broken images
for devices which are using uImages. This fixes#21652
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48381
This adds basic support for TP-Link VR200v.
Currently the following parts are not working: FXO, Voice, DECT, WIFI (both)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48328
The following patches were dropped because they are already applied
upstream:
- 0038-MIPS-lantiq-fpi-on-ar9.patch
- 0039-MIPS-lantiq-initialize-usb-on-boot.patch
- 0042-USB-DWC2-big-endian-support.patch
- 0043-gpio-stp-xway-fix-phy-mask.patch
All other patches were simply refreshed, except the following:
- 0001-MIPS-lantiq-add-pcie-driver.patch
Changes to arch/mips/lantiq/xway/sysctrl.c (these changes disabled
some PMU gates for the vrx200 / VR9 SoCs) were removed since the
upstream kernel disables unused PMU gates automatically (since
95135bfa7ead1becc2879230f72583dde2b71a0c
"MIPS: Lantiq: Deactivate most of the devices by default").
- 0025-NET-MIPS-lantiq-adds-xrx200-net.patch
Since OpenWrt commit 55ba20afcc2fe785146316e5be2c2473cb329885 drivers
should use of_get_mac_address(). of_get_mac_address_mtd is not
available for drivers anymore since it's called automatically within
of_get_mac_address().
- 0028-NET-lantiq-various-etop-fixes.patch
Same changes as in 0025-NET-MIPS-lantiq-adds-xrx200-net.patch
While refreshing the kernel configuration SPI support had to be moved to
config-4.4 because otherwise M25P80 was disabled.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48307
Re-defining the compatible property is not required since the correct
value is inherited from vr9.dtsi.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48295
Compared to the "old" driver:
- Each device must assign a pinctrl setting to the SPI node to allow the
new SPI driver to configure the SPI pins.
While here we are also using separate input and output settings so we
are independent of whether the bootloader configures the pins correctly.
- We use the new "compatible" strings to make the driver choose the
correct number of chip-selects for each SoC.
- The new driver starts counting the chip-selects at 1 (instead of 0, like
the old one did). Thus we have to adjust the devices accordingly.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48293
The new driver provides a few improvements over the old one:
- Separate compatible strings per SoC type (this allows removing some
hardcoded of_device_is_compatible() checks)
- It does not rely upon spi-bitbang anymore
- chip-selects are numbered as in the datasheet (= starting at 1 instead
of 0)
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48292
All devices are now using the HW SPI driver, so this is not necessary
anymore.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48291
This allows devices to use SPI without having to re-define (and thus
duplicating) the whole SPI node.
By default SPI is disabled (as before) because only few devices need it.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48286
After the latest pinctrl backports there are only 50 (instead of 56 as
before) GPIOs/pins exported (thus the first GPIO on VRX200 SoCs is now
462, before it was 456). This means that any hardcoded GPIOs have to be
adjusted.
This broke the PCIe driver (which seems to be the only driver which uses
hardcoded GPIO numbers), it only reports:
ifx_pcie_wait_phy_link_up timeout
ifx_pcie_wait_phy_link_up timeout
ifx_pcie_wait_phy_link_up timeout
ifx_pcie_wait_phy_link_up timeout
ifx_pcie_wait_phy_link_up timeout
pcie_rc_initialize link up failed!!!!!
To prevent more of these issues in the future we remove the hardcoded
PCIe reset GPIO definition and simply pass it via device-tree (like the
PCI driver does).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48285
These were introduced in upstream commit
be14811c03cf "pinctrl/lantiq: introduce new dedicated devicetree
bindings" and finally allow us to use the individual pins within our dts
(for example spi_clk, etc.).
Please note that this changes the number of GPIOs which are available for
some SoCs. VRX200 SoCs for example only have 50 pins, but previously 56
pins were exposed. This means that all places which are using hardcoded
GPIO numbers (which are not passed via device-tree) need to be adjusted
(because the first GPIO number is now 462, instead of 456).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48284
Upstream commit be14811c03cf2 "pinctrl/lantiq: introduce new dedicated
devicetree bindings" allows us to use each pin in the pinmux. This is
useful for example in the "spi" group which contains some pins which
are inputs, and some which are outputs.
These can only be used once the new compatible strings for the pinctrl
node are used.
Additionally 0150-lantiq-pinctrl-xway.patch and the "GPIO PORT3 fix"
(which was part of 0012-pinctrl-lantiq-fix-up-pinmux.patch) were
replaced with their upstream variants which are also in 4.5.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48283
The old signature only worked because brnboot ignores the leading "5" in
the signature. We can see the correct signature when flashing a brnImage
via recovery web-interface, in this case brnboot reports:
[CGI-Signature Check] buf:[BRNDA6431], sigInFlash:[BRNDA6431]
Thanks to Mathias Kresin for reporting this.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48269
This removes the arch-specific mtdsplit parsers and enables the generic
implementations for brnImage, EVA and TP-Link instead.
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
SVN-Revision: 48264
This patch was merged into upstream Linux 4.1.
This fixes#21587 and was introduced in r48223.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 48229
linux 4.4 (since commit 08b3c894e56580b8ed3e601212a25bda974c3cc2
"MIPS: lantiq: Disable xbar fpi burst mode") requires that the xbar is
defined in the .dts of vrx200 (VR9) SoCs.
SVN-Revision: 48056
The P2812HNU-F3 doesn't have usb leds. Only the P2812HNU-F1 has those
leds.
Reported-by: Sylwester Petela <sscapi@gmail.com>
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48043
The leds of the following boards are not renamed due to lack of
manuals/informations:
- ARV7519PW
- ARV7510PW22
- ARV4510PW
The leds of the ARV4518PWR01* boards are unchanged, since the leds doesn't
match the leds from the manual or pictures (e.g. there shouldn't be a wps led).
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48042
The BTHOMEHUBV5A has a RGB power led, where every colour is perfect to
indicate the current boot state. This patch adds support for such cases.
The existing led sequences should be the same as before.
Boards which are using a led different from power (like TDW89x0) are
changed to switch of the led after boot
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48041
dsl_control (dsl_notify.sh) is the only process which is aware of the
state of the atm/ptm interface. Use the dsl led exclusive for the dsl
line state.
On boards which don't have a distinct internet and a dsl led, let the
netdev status of the atm interface trigger the shared led.
Triggering the shared led according to the status of the ppp interface
isn't suitable, since the led would be switched of if the ppp
connection goes down, but the line is still in sync.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48040
Remove all now double defined leds from the led board file. Use pppoe
as default for all broadband connections, since it's the default in
OpenWrt now.
Rename the the wifi leds to make sure, the not applicable default
values get overwritten.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48038
- ARV7525PW: use the power led as dsl led as done by the stock firmware
- FRITZ3370: use the info led as internet led
- FRITZ7320: use the power led as dsl led as done by the stock firmware
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48037
Use the same led logic and labels as the OEM firmware (red = okay,
blue = failure).
Add the red internet led.
Remove missing usb led workaround. The workaround shouldn't be in the
default configuration.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48036
No need to switch (and keep) on all leds at boot. Use the same led
logic and labels as the OEM firmware (red = okay, blue = failure).
Add the red internet led.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 48035
It's not necessary to define PCI_* if pci_ids.h is included a few
lines above.
The change to pci_ids.h doesn't look intentional to me, especially
since the former value is added to the top of ifxmips_fixup_pcie.c.
Both changes were introduced with the kernel 4.1 support patches and
were not present in the 3.18 patches.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 47996
Use the same max spi frequency as set in u-boot.
According to the datasheets, the Q64-104HIP as well as the Winbond
25Q64FVSIG support spi frequencies up to 50 MHz. During my tests, the
Q64-104HIP couldn't be recognized/initialized if the frequency
was > 40MHz.
Both chips do support fast read as well.
While touching the dts file, I fixed the dtc compiler warnings.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 47994
using the special tag in this way lead to port mirroring for certain types of traffic.
fallback to using th PMAC_EWAN register for the wan portmap.
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 47993
This patch configures the correct ath9k WLAN LED polarity for the TDW8970,
and for the TDW8980 as well.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
SVN-Revision: 47969
Still unused, but u-boot doesn't take care of the led, which results in a
permanent switched on 5GHz LED.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 47915
- Use common OpenWrt blink patterns instead of custom ones
- Add preinit_regular hook
- Handle the TDW89X0 that does not have a configurable power LED
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
SVN-Revision: 47914
This patch configures the correct ath9k WLAN LED polarity for the TDW8970.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
SVN-Revision: 47913
The TDW8970 has a AR9381, which is the bgn 3x3:3 variant of the AR938x family.
The TDW8980 has a AR9287, which is the bgn 2x2:2 variant of the AR928x family.
This means that the chip for both routers is 2.4 GHz only.
Anyway, the manufacturer didn't disable the 5 GHz band in the EEPROM partition
(at least on my TDW8970).
So this patch disables the 5 GHz band.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
SVN-Revision: 47912
Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47867
Because of dsl-vrx200-firmware-xdsl-* there's no need anymore to
download a dsl firmware at runtime.
Signed-off-by: Andre Heider <a.heider@gmail.com>
SVN-Revision: 47851
The switch to uci-defaults-new.sh revealed a bug in the former used
uci-defaults.sh, which failed to add leds with colons in the led name.
This bug isn't any longer present in uci-defaults-new.sh and therefore
all via DT defined leds will be added to /etc/config/system with their initial
on/off state, regardless whether they are already added by the board specific
led mappings.
This results for a BTHOMEHUBV5A into the following led configuration:
- soc:blue:power is added as led_power with the initial state "switched on"
- soc:blue:power is added as led_soc_blue_power with the initial state "switched off"
With the final result of a switched off power led after boot.
The only led that needs to be added is the BTHOMEHUBV5A specific dimmed led.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 47850
Starting with r47755 the pppoe wan interface section isn't any longer added to
the network config on firstboot, using the default configuration. Since the
commit message does not mention such a change, I assume that this wasn't
intentionally.
Signed-off-by: Mathias Kresin <openwrt@kresin.me>
SVN-Revision: 47793
Now that we have redistributable vdsl/adsl firmware blobs in /lib/firmware,
we can drop the dsl_fw partition and extend the firmware partition.
Signed-off-by: Andre Heider <a.heider@gmail.com>
SVN-Revision: 47783
This patch adds the posibility to config the led behaviour of the lantiq phys
over the devicetree bindings.It patches the 0023-NET-PHY-adds-driver-for-lantiq-PHY11G
for 3.18 and 4.1. I have also added a register description overview for
applicable values. This goes to the documentation folder in the linux kernel.
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
SVN-Revision: 47566
This patch improves the default configuration of DWC2 on lantiq SoCs
somewhat:
* Set maximum packet count to largest allowed value by the DWC2 (511)
* Use 16-bit DMA bursts
* Divide fifo buffers more evenly
Default fifo buffer sizes from original ltq-hcd driver seem really
irrational. For example according to DWC2 data book rxfifo size of 240
will not fit even a single full length USB packet. On the other hand
non-periodic tx fifo size of 240 is more than enough to fit one complete
packet.
Change the sizes around to improve the situation and to fix some issues
especially with isochronous USB transfers.
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
SVN-Revision: 47563
This adds a basic implementation of clk_round_rate()
The clk_round_rate() function is called by multiple drivers and
subsystems now and the lantiq clk driver is supposed to export this,
but doesn't do so, this causes linking problems like this one:
ERROR: "clk_round_rate" [drivers/media/v4l2-core/videodev.ko] undefined!
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 47254