Commit Graph

52 Commits

Author SHA1 Message Date
Felix Fietkau
566de813c3 ramips: prevent packet forwarding on mt7620 between switch ports during init (FS#103)
By default, forwarding between all ports is allowed on init. This is
problematic in cases where some ports are supposed to be isolated from
each other, most commonly LAN/WAN separation.

REG_ESW_PORT_PCR(port) has a destination mask for a particular port,
controlling what other ports it is allowed to send packets to.
Instead of initializing all to 0xff (all ports), allow each physical
port to send to the CPU port, and the CPU port to send to all other
ports.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-04 11:41:49 +01:00
John Crispin
7c809f1687 ramips: fix sdhci support on mt7621
the IRQ level was wrong. refresh the patch while at it.

Signed-off-by: John Crispin <john@phrozen.org>
2016-12-01 18:30:41 +01:00
Andrew Yong
fe43d90d93 ramips: fix wrong check for MT7621AT
fix in sdhci Use ralink_soc == MT762X_SOC_MT7621AT instead of CONFIG_SOC_MT7621 which is
wrong and breaks builds on mt7620a-similar platforms (MT7621, MT7688)

Signed-off-by: Andrew Yong <me@ndoo.sg>
2016-11-21 16:49:54 +01:00
Andrew Yong
605cab749e ramips: Fix sdhci kernel panics on MT7621
Enable work-arounds present in the code commented-out but needed to write to
sdcard on mt7621 which currently causes kernel to oops when engaging in
serious writing to sdcard. With this change applied, there are still
occasional warnings thrown by the mmc driver, however, at least it no longer
crashes the system and even large writes (full-card dump/erase/write/compare)
don't show any corruption.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

Rebase to LEDE and added "CONFIG_SOC_MT7621" check to ensure non-MT7621 devices do not face performance regressions.
Signed-off-by: Andrew Yong <me@ndoo.sg>
2016-11-21 12:31:39 +01:00
Vitaly Chekryzhev
5f38d1ad85 ramips: add MT7620 MIB support for switch and port
Move definitions to header. Replace array size definitions with macro.

Signed-off-by: Vitaly Chekryzhev <13hakta@gmail.com>
[merged into 0513-net-mediatek-add-swconfig-driver-for-gsw_mt762x.patch]
Signed-off-by: Mathias Kresin <dev@kresin.me>
Acked-by: John Crispin <john@phrozen.org>
2016-11-17 20:01:21 +01:00
Felix Fietkau
728ab77d3d ramips: fix polling switch interrupts
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-14 20:06:15 +01:00
Felix Fietkau
4cdbc90a37 ramips: add hack to detect missing mt7621 cpu cores
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-14 19:59:32 +01:00
Stijn Segers
2f2ea7b44c kernel: update kernel 4.4 to version 4.4.30
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>
2016-11-02 10:25:44 +01:00
Álvaro Fernández Rojas
7d559169c5 kernel: update to v4.4.23
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>
2016-09-30 20:08:21 +02:00
Stijn Segers
949cfbb243 kernel: update kernel 4.4 to version 4.4.22
Forgot to update kernel-version.mk, so updated patch. Compile-tested on x86/64 and ar71xx; run-tested on x86/64 and ar71xx.

Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
2016-09-30 13:34:04 +02:00
Álvaro Fernández Rojas
41eab9048b kernel: update kernel 4.4 to version 4.4.21
Refresh patches for all targets that support kernel 4.4.
Compile-tested on brcm2708 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-16 10:17:27 +02:00
Álvaro Fernández Rojas
d14c28fc80 kernel: update kernel 4.4 to version 4.4.20
Refresh patches for all targets that support kernel 4.4.
Compile-tested on brcm2708 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-15 08:10:55 +02:00
Mathias Kresin
85fefcdb61 kernel: mtd: backport Macronix sector size fix
Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-03 09:27:09 +02:00
Stijn Tintel
8072264b96 kernel: update kernel 4.4 to version 4.4.19
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked broken.
Runtime-tested on ar71xx, octeon and x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-08-23 10:51:17 +03:00
John Crispin
99a1888287 swconfig: revert the portmapping patches, they seem to cause a segfault
Revert "kernel/swconfig: remove obsolete portmapping feature from swconfig"

This reverts commit 675407baa4.

Revert "swconfig: remove obsolete portmapping feature"

This reverts commit fca1eb349e.

Signed-off-by: John Crispin <john@phrozen.org>
2016-08-16 10:20:01 +02:00
John Crispin
675407baa4 kernel/swconfig: remove obsolete portmapping feature from swconfig
Signed-off-by: John Crispin <john@phrozen.org>
2016-08-15 15:18:35 +02:00
Hauke Mehrtens
efa1960abb kernel: update kernel 4.4 to version 4.4.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 15:39:15 +02:00
Michael Lee
36d98e6c7a ramips: add MT7620 pinmux bits for mdio as refclk
The MT7620 uses a 2 bit wide configuration of the mdio.

Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-07-11 14:19:47 +02:00
John Crispin
252f751611 ramips: fix usb phy initialisation
this broke usb20 device detection.

Signed-off-by: John Crispin <john@phrozen.org>
2016-07-11 14:19:46 +02:00
John Crispin
2c9073282d ramips: fix MT7621 gsw handling
based on https://forum.openwrt.org/viewtopic.php?pid=323671#p323671

Signed-off-by: John Crispin <john@phrozen.org>
2016-07-05 22:59:13 +02:00
John Crispin
69a626b441 ramips: fix mt7621 SoC detection
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-05 22:59:13 +02:00
John Crispin
d09f0045ea ramips: fix up switch settings for Sitecom WL-351 v1 002
Pinmux for rgmii needs to be set to rgmii, not gpio.
Hide the ESW switch on boot (using new rgmii esw devicetree attribute).
Also add a Sitecom-specific profile, since the image needs to include
the rtl8366 kernel driver.

Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>
2016-07-03 08:00:26 +02:00
John Crispin
2dc9beddc0 ramips: disable the WP pin on the SDK mmc driver
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-30 22:48:39 +02:00
John Crispin
81add8f753 ramips: fix pinmux typo
Reported-by: Joy Kicer <joykicer@gmail.com>
Signed-off-by: John Crispin <john@phrozen.org>
2016-06-30 22:48:39 +02:00
Hauke Mehrtens
84d489f64f kernel: update to version 4.4.14
Changelog: https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.14

Some manual changes to target/linux/generic/patches-4.4/610-
netfilter_match_bypass_default_checks.patch were needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-26 18:20:37 +02:00
Michael Lee
60ccfbbad0 ramips: update i2c drivers
* add rt_i2c structure to store driver data
* rewrite read/write check function and add i2c error status check.
  so we don't need to wait until time out.
* add 10 bits address support. according to the data sheet i think
  it is possible. but i haven't verify it.
* the most important is start transfer only need once. otherwise
  it cause I2C_STARTERR status.
* add set i2c clock speed register by dts options "clock-frequency".
  not just hard code it.
* add mt7621 i2c driver. i just copy i2c-ralink.c and change register
  names. and the hardware don't support error status. so i remove it.
  but the logic is the same.

Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-06-20 11:45:44 +02:00
John Crispin
b180f24a3b Revert "ramips: update i2c drivers"
This reverts commit d8202a8409.

the commit broke I2C on various boards.

Signed-off-by: John Crispin <john@phrozen.org>
2016-06-17 04:13:07 +02:00
Michael Lee
49b7421836 ramips: enable wm8960 kernel menuconfig select option
Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-06-13 22:51:43 +02:00
Michael Lee
6f61990d15 ramips: add i2s clocks
Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-06-13 22:51:43 +02:00
Michael Lee
9ff8928bb9 ramips: improve i2s drivers
* remove mt7620-wm8960.c use simple card and DTS to do it
* add old chips support
* add 12Mhz refclk setup. this is hard code. need use clock framework
  rewrite it
* add interrupt error status support for debug. default disable it.
  because it cause to many interrupts
* add setup bclk suport not hard code it
* add 24 bits support for mt7628. not verified
* use regmap api to control registers
* add txdma-req/rxdma-req DTS params for DMA use

Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-06-13 22:51:42 +02:00
Michael Lee
42bbe28cf1 ramips: add i2c clock
Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-06-13 22:51:42 +02:00
Michael Lee
d8202a8409 ramips: update i2c drivers
* add rt_i2c structure to store driver data
* rewrite read/write check function and add i2c error status check.
  so we don't need to wait until time out.
* add 10 bits address support. according to the data sheet i think
  it is possible. but i haven't verify it.
* the most important is start transfer only need once. otherwise
  it cause I2C_STARTERR status.
* add set i2c clock speed register by dts options "clock-frequency".
  not just hard code it.
* add mt7621 i2c driver. i just copy i2c-ralink.c and change register
  names. and the hardware don't support error status. so i remove it.
  but the logic is the same.

Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-06-13 22:51:42 +02:00
Michael Lee
f6fc591561 ramips: enhance dma engine support
* fix compiler error. device_control operation not support now.
* add old chips support 8 channels. new chips support 16 channels.
* add mt7621 hsdma driver. data sheet says it has two channels.
  but after test only one channel support.
* add memory to memory DMA support. i use dmatest kernel module to
  verify this function. on rt305x it will copy more data. on mt7621
  only two channels can works at the same time. these two chips
  maybe have hardware bugs. because on other chips don't have these bugs.
* use tasklet to handle remaining dma requests.

Signed-off-by: Michael Lee <igvtee@gmail.com>
2016-06-13 22:51:42 +02:00
Álvaro Fernández Rojas
0aa6c7df60 kernel: update kernel 4.4 to version 4.4.13
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-12 15:51:54 +02:00
Felix Fietkau
7eeb254cc4 treewide: replace nbd@openwrt.org with nbd@nbd.name
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:42 +02:00
Álvaro Fernández Rojas
a105eac4dd kernel: update kernel 4.4 to version 4.4.12
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-02 15:34:34 +02:00
Álvaro Fernández Rojas
2a57a54d49 ramips: add backported MT7628 pinmux fixes
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-29 11:26:41 +02:00
John Crispin
bf6634339a ramips: fix timing issues when using MT7621 spi
Signed-off-by: John Crispin <john@phrozen.org>
2016-05-23 20:22:22 +02:00
Felix Fietkau
82dcbec727 ramips: remove fake vlan rx offload from ethernet driver
The network stack does not need it to do GRO

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-20 14:01:21 +02:00
Álvaro Fernández Rojas
3bc90f9626 ramips: use backported upstream patches
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-19 17:48:41 +02:00
Álvaro Fernández Rojas
e32b2f92b1 kernel: update kernel 4.4 to version 4.4.10
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-11 21:34:27 +02:00
Álvaro Fernández Rojas
b062266ad6 kernel: update kernel 4.4 to version 4.4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-10 10:43:17 +02:00
D. Andrei Măceș
823c58a1cf ramips: mt7620: [UPSTREAM] fix USB frequency scaling
The logic for the SoC check got inverted. We need to check if it's
not a MT76x8.

Signed-off-by: D. Andrei Măceș <dmaces@nd.edu>
2016-05-10 10:43:13 +02:00
blogic
12758e32d3 ramips: Get rt3050 ethernet ports to be disabled from the device tree.
This patch allows configuring ports to be disabled in the device tree; this
saves power, since disabling ports here actually disables power to ethernet
PHYs.

Line 444 enables all ethernet ports, so line 487 is getting zero ports to be
disabled, except for port 5 in SoCs where this is not implemented as it will
be sticky disabled in register POC0. Because of this, the code will still read
the switch configuration and OR it to the device tree setting.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 49290
2016-05-10 10:43:12 +02:00
blogic
e626d4f702 ramips: Fix comment in rt3050 ethernet switch driver.
Line 444 is actually enabling all switch ports by setting the disable bits
to 0. This needs to be done because the bootloader sets all ports to disabled
by default (which is the case for at least one router based on RT5350).

So, this patch fixes the comment in line 443.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 49289
2016-05-10 10:43:12 +02:00
blogic
e716fce5da ramips: Fix documentation for the rt3050 switch driver.
The prefix used in the driver is now "mediatek" instead of "ralink".

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 49288
2016-05-10 10:43:12 +02:00
blogic
decd89c57f ramips: Fix multicast ICMPv6 for the rt3050 ethernet switch.
The FCT2 esw register should be set to 0x2500C to have "unknown IPv6
multicast" packets broadcasted to every port, instead of dropped.
The previous value only let those packets go through ports 1 and 3.

"Unknown IPv6 multicast" packets include packets needed by ICMPv6 echo
requests addressed to well-known addresses, such as ff02::1 (MAC address
is 33:33:00:00:00:01 in this case).

Please note that by default ICMPv6 echo requests to ff02::1 are not replied
to by the router because of ip6tables considering those packets to be invalid.
But this is another bug/patch. ;)

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 49287
2016-05-10 10:43:12 +02:00
Hauke Mehrtens
657a2457a6 ramips: fix build of target
Makes the patches apply again by fixing the white space broken patch.
This problem was introduced in r49212.

Closes #22248 and #22259

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

SVN-Revision: 49221
2016-04-24 22:17:38 +00:00
John Crispin
a6c7c0029e ramips: awake rt305x USB controller
Because of Ralink uboot set USB controller into sleep mode [1]
we check it and awake controller before any registers access.
Fix ticket #21396 [2]

[1] http://marc.info/?l=linux-usb&m=137398626102108&w=2
[2] https://dev.openwrt.org/ticket/21396

Signed-Off-By: Serge Vasilugin <vasilugin@yandex.ru>

SVN-Revision: 49212
2016-04-21 19:47:02 +00:00
Hauke Mehrtens
f0b3964f1b kernel: update kernel 4.4 to version 4.4.7
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49176
2016-04-16 21:05:48 +00:00