Commit graph

1327 commits

Author SHA1 Message Date
John Crispin
b4db6d29d3 ramips: improve systick timer
when sleep mode is disable use MIPS as clocksource and clockevent instead of systick.
because MIPS timer has higher resolution 5ns less than systick 20us and
larger counter bits 32 > 16.
clean interrupt by write compare register at isr.
fix typo cause sleep mode not enable.

Signed-off-by: Michael Lee <igvtee@gmail.com>

SVN-Revision: 47122
2015-10-05 10:27:09 +00:00
John Crispin
10f75a2b7f ramips: fix use remove_irq to release irqaction resource
Signed-off-by: Michael Lee <igvtee@gmail.com>

SVN-Revision: 47121
2015-10-05 10:27:04 +00:00
John Crispin
ccf89e71f2 ramips: add support for 16MB VoCore
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 47120
2015-10-05 10:27:00 +00:00
John Crispin
948e67cb16 ramips: fix size-cells for spi nodes
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 47119
2015-10-05 10:26:54 +00:00
John Crispin
d4cd8f89eb ramips: Ralink RT3883 RGMII pinmux fix.
Due to datasheet of rt3883 SoC rgmii1 port handles pins 84-95 and rgmii2 port handles pins 72-83. When this function ports gets added to rt3883_pinmux_data there's wrong pinmux bits set (RT3883_GPIO_MODE_GE1 manages 84-95 pins and RT3883_GPIO_MODE_GE2 manages 72-83). So when enabling rgmii2 as GPIO driver confuses hardware and nothing work, neither rgmii nor gpio.
Also in '0030-pinctrl-ralink-add-pinctrl-driver.patch' typo in name of rgmii2 port.

Signed-off-by: Nick Leiten <nickleiten@gmail.com>

SVN-Revision: 47118
2015-10-05 10:26:40 +00:00
John Crispin
aecac14cc4 ramips: Enable rx of 1536 bytes ethernet frames on MT7621
The default switch frame size (with FCS + header) is 1536 bytes. But the
GMAC only accepted frames up to 1522 bytes. Setting it to 1536 allows to
receive ethernet frames using the full of MTU 1500 + an extra VLAN header +
VLAN header added by the switch.

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

SVN-Revision: 47117
2015-10-05 10:26:34 +00:00
John Crispin
7b306e3eb3 ramips: Fix too small rx buffer
The driver assumes that the maximum received buffer for non-jumbo frames is
1536 bytes. But the allocation of the rx fragment doesn't reflect that. It
currently allocates fragments which will only be large enough to be used as
rx buffer with the size of 1534 bytes. This is problematic because the GMAC
will now try to write to 2 bytes which don't belong to its receive buffer
when a large enough ethernet frame is received.

This may already be a problem on existing chips but will at least become a
problem when the 1536 byte rx modus is enabled on MT7621a. It is required
on this SoC to receive ethernet frames which use their full 1500 bytes MTU
and a VLAN header next to the switch VLAN tag.

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

SVN-Revision: 47116
2015-10-05 10:26:28 +00:00
John Crispin
6b4985b105 ramips: Fix setting of rx buffer length
The length of the DMA rx buffer was always set to 0 because the function
for extracting the length was used to calculate the value for setting it.
Instead the macro has to be split in a get and set function similar to the
TX_DMA_(GET_|)PLEN(0|1) macro.

No problem was noticed on MT7621a before this was changed and thus maybe it
was hidden by different problem which is not yet fixed.

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

SVN-Revision: 47115
2015-10-05 10:26:21 +00:00
John Crispin
1aab21df9f ramips: Allow to receive vlan over untag ports on MT7530
The MT7530 switch driver with enable_vlan set will automatically set all
ports to the user port mode. The hardware will remove the incoming vlan tag
on these ports and use it for its internal vlan. This is usually not wanted
and makes it impossible to communicate via vlan over the switch in both
directions.

It is possible to configure a switch port to "transparent mode" when this
port is only used as untag in the switch VLANs. This will disable the VLAN
untagging of packets when they were received on this port. The tagging on
"tag" ports based on the vlan id is still working.

The transparent port mode cannot be used when a port is both used in a VLAN
as "tag" and in another one as "untag" port.

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

SVN-Revision: 47114
2015-10-05 10:26:09 +00:00
John Crispin
dd8f5abb23 ramips: Add build files for HiWiFi HC5x61 models
HiWiFi HC5661/5761/5861 models are manufactured by http://www.hiwifi.com <http://www.hiwifi.com/>. These models have similar hardware specs(MT7620A + 128M DDR2 + 16M flash). This patch adds support for them.

The original author is Justin Liu (rssnsj@gmail.com). I ported the patch to trunk and submitted it here with his approval.

v3 fix
    1: Spaces -> Tabs
    2: Removed some packages

Signed-off-by: Xiaoning Kang <kangxn@163.com>

SVN-Revision: 47113
2015-10-05 10:26:02 +00:00
John Crispin
e6e373d348 ramips: Add DTS files for HiWiFi HC5x61 models
HiWiFi HC5661/5761/5861 models are manufactured by http://www.hiwifi.com. These models have similar hardware specs(MT7620A + 128M DDR2 + 16M flash). This patch adds support for them.

The original author is Justin Liu (rssnsj@gmail.com). I ported the patch to trunk and submitted it here with his approval.

v3 fix
  1: Merged most stuff into dtsi file
  2: Remove unnecessary empty lines.

Signed-off-by: Xiaoning Kang <kangxn@163.com>

SVN-Revision: 47112
2015-10-05 10:25:53 +00:00
John Crispin
c10bdf11ff ramips: Add base-files for HiWiFi HC5x61 models
HiWiFi HC5661/5761/5861 models are manufactured by http://www.hiwifi.com. These models have similar hardware specs(MT7620A + 128M DDR2 + 16M flash). This patch adds support for them.

The original author is Justin Liu (rssnsj@gmail.com). I ported the patch to trunk and submitted it here with his approval.

v3 fix
   1: Fixed model order
   2: Remove manufacturer name from model name
   3: Use a hacky but prettier way to get mac address.

Signed-off-by: Xiaoning Kang <kangxn@163.com>

SVN-Revision: 47111
2015-10-05 10:25:47 +00:00
John Crispin
7ad419a9f1 ralink: add irq to mt7628 gpio node
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47076
2015-10-01 19:12:14 +00:00
John Crispin
e1b1b0cbfd ralink: the mmc driver can now handle CD lines that are active low
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47074
2015-10-01 18:13:47 +00:00
John Crispin
9e1268b168 ralink: speed selection was broken in spi-mt7621
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 47073
2015-10-01 15:35:44 +00:00
John Crispin
f453508b3e ramips: Fix pinmux functions for MT7621
The pinctrl-rt2880 code doesn't support multiple functions with the same
name. This will result in a incorrect pinmux configuration.

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

SVN-Revision: 46963
2015-09-16 08:31:52 +00:00
John Crispin
3a149a2910 ramips: add mt7621/3/8 support to the I2C driver
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46959
2015-09-16 08:31:15 +00:00
John Crispin
e6a9d5edf2 ramips: fix reported vendor name
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46958
2015-09-16 08:31:10 +00:00
John Crispin
86a1e46b63 ramips: add proper mt7688 detection
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46957
2015-09-16 08:31:00 +00:00
John Crispin
85d5b9984d ramips: add speed and mode settings to spi-mt7621
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46956
2015-09-16 08:30:43 +00:00
John Crispin
38c28154bd ramips: add get_direction() callback and irq support to gpio-mt7621
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46955
2015-09-16 08:30:17 +00:00
John Crispin
23d79b60ce ramips: more m7628 pinmux fixes
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46954
2015-09-16 08:30:06 +00:00
John Crispin
9473837653 ramips: add mt7628 pwm driver
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46953
2015-09-16 08:29:55 +00:00
John Crispin
9dfe1f6fbe ramips: make pinctrl work on newer socs
newer socs have 2 mux registers

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46952
2015-09-16 08:29:45 +00:00
John Crispin
710520d5c7 ramips: make the mt7628 spi driver work for both cs lines
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46951
2015-09-16 08:29:40 +00:00
John Crispin
6f07b8a659 ramips: make the early_printk code detect which uart is used
only tested on mt7628

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46950
2015-09-16 08:29:31 +00:00
John Crispin
57c5910535 ramips: Added WIZnet WizFi630A Platform based on Ralink RT5350
This patch is to add the WIZnet WizFi630A board as a new platform. The board is in mini pci express form factor.

Signed-off-by: Tobias Welz <tw@wiznet.eu>

SVN-Revision: 46921
2015-09-14 20:09:31 +00:00
John Crispin
2efdc7c896 ramips: add support for Planex DB-WRT01
This patch add support for Planex DB-WRT01. DANBOARD route on
 the MT7620A SoC with two Ethernet port and a 802.11n 2.4 GHz radio.
 DANBOARD is Cartoon character.

Signed-off-by: YuheiOKAWA <tochiro.srchack@gmail.com>

SVN-Revision: 46918
2015-09-14 20:08:55 +00:00
Felix Fietkau
fcee359813 ramips: fix chunked-io support for big flash chips (#20504)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46904
2015-09-14 06:54:15 +00:00
Felix Fietkau
1956cc7018 ramips: enable external amplifier for Xiaomi MiWiFi Mini
Attempt to boost the 2.4 GHz signal, currently very low.

Signed-off-by: D. Andrei Măceș <dmaces@nd.edu>

SVN-Revision: 46891
2015-09-12 10:22:41 +00:00
Felix Fietkau
d9857f5468 ramips: Enable RTC support for PBR-M1
The PBR-M1 and other upcoming MT7621 boards have RTC chips on them. The
PBR-M1 also selects the kmod-rtc-pcf8563 by default. But the module itself
will not be build because CONFIG_RTC_CLASS is currently not enabled for its
kernel.

Enabling this option should fix the problem of the missing rtc device on
these boards.

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

SVN-Revision: 46857
2015-09-11 16:32:58 +00:00
Jonas Gorski
7d6cff4882 kernel: update 3.18 to 3.18.21
Changelog:
 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.21

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46768
2015-09-02 10:18:15 +00:00
Felix Fietkau
7747092ed1 ramips: fix devicetree corruption with some boot loaders if the caches are not ready at boot
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46766
2015-09-02 09:24:05 +00:00
Jonas Gorski
efb2c403cf ramips: disable the openwrt commandline hack
We don't make use of it, so no need to have it enabled.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46759
2015-08-30 12:18:14 +00:00
John Crispin
402c2d008b ramips: move patches around
0073 needs to applied afert 0102

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46667
2015-08-17 10:13:46 +00:00
John Crispin
0f155a330e ramips: base-files: optimize etc/diag.sh and etc/board.d/01_leds scripts
Instead of using board name provided explicitly as text in LED name, ex.:

[...]
mlwg2)
	status_led="mlwg2:blue:system"
[...]

use $board variable, which allows to combine together multiple boards with same color and LED names, ex:

[...]
mlw221|\
mlwg2)
	status_led="$board:blue:system"
[...]

The above approach allows to shrink size of code in base-files/etc/board.d/01_leds and base-files/etc/diag.sh scripts dramatically.
One thing to keep in mind here is that we assume to use proper and consistent LED naming scheme ("device:color:led-name").

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46665
2015-08-17 06:24:47 +00:00
John Crispin
1a392636a5 ramips: use consistent naming scheme for LEDs
The upstream LED naming convention is "device:color:led-name", but it seems that many of supported boards in OpenWrt don't follow this approach.
The following patch fixes this inconsistency in dts{,i} files and updates base-files scripts for ramips target:
 * fixes wrong indentation
 * keeps case statements structure in same convention as in other scripts (no empty line after ";;", no indentation for case...esac body)
 * fixes wrong LED names for some of boards (makes them the same as in dts{,i} files)
 * combines boards with same configuration (ex. set_wifi_led "rt2800pci-phy0::radio" in 01_leds)

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46664
2015-08-17 06:24:34 +00:00
John Crispin
eba4a143c6 ramips: reorder the sysupgrade script
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46660
2015-08-17 06:18:38 +00:00
John Crispin
aa4c6e27b4 ramips: reorder patches
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 46659
2015-08-17 06:18:30 +00:00
John Crispin
87df7da757 ramips: Fix MT7621 pinmux bits for uart3, uart2, mdio
The MT7621 uses a 2 bit wide configuration of the sdhci, spi, mdio, pcie,
wdt, uart2 and uart3 in the GPIO_MODE register. It was correctly done
for sdhci, spi, pcie and wdt, The same has to be done for uart3, uart2
and mdio.

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

SVN-Revision: 46645
2015-08-17 06:15:49 +00:00
John Crispin
09851afd33 ramips: Fix amount of MT7621 pins controlled by spi group
The PINS conntrolled by the SPI bits in the GPIO_MODE register is always
7 and not 8 for nand mode.

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

SVN-Revision: 46644
2015-08-17 06:15:44 +00:00
John Crispin
9ed654e389 ramips: Fix uart2/uart3 pinmux order on MT7621
The uart3 setting in GPIO_MODE register is before the uart2 setting. Also
don't mix uart2 and uart3 function/groups.

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

SVN-Revision: 46643
2015-08-17 06:15:34 +00:00
John Crispin
f32116987f ramips: remove unnecessary LED declaration for WT1520 in diag.sh
This device doesn't have defined LEDs in its dts file.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46635
2015-08-17 06:03:42 +00:00
John Crispin
2f0449419f ramips: fix indentation, case statements structure and optimize base-files/etc/board.d/02_network
The following patch:
 * fixes wrong indentation
 * combines together boards with same configuration
 * removes unnecessary spaces
 * removes empty lines after ";;" and uses only "|\" (for consistency)
 * orders boards alphabetically

in base-files/etc/board.d/02_network script.

One bug was left untouched: freestation5 board is listed twice in case statement, in ramips_setup_macs().

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46634
2015-08-17 06:02:59 +00:00
John Crispin
4069a8e49c ramips: be consistent with case statement in base-files/lib/upgrade/platform.sh
Always use "|\" (without spaces) and keep boards in alphabetical order.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46633
2015-08-17 06:01:49 +00:00
John Crispin
a18b35a2f1 ramips: remove leading spaces, sort boards and optimize base-files/lib/ramips.sh
This patch:
 * fixes various mistakes (leading spaces, wrong or missing model names)
 * shortens model strings (we don't need to use whole model string from dts file, make it for consistency and as optimization)
 * sorts boards alphabetically

in base-files/lib/ramips.sh script.

Case statement was tested after above changes with simple script, which:
 * takes model string from dts{,i} file (model = "...")
 * provides this value as case input ($machine)
 * returns output ($name)

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46632
2015-08-17 06:01:44 +00:00
John Crispin
57e614c179 ramips: fix various mistakes in subtargets *.mk profiles
This patch:
 * fixes wrong indentation
 * fixes wrong names and descriptions (ex. Dlink -> D-Link)
 * changes filenames to manufacturer names
 * moves oem/unknown manufacturers boards to misc.mk profiles
 * combines profiles for boards from the same manufacturers in one file (ex. Olimex)
 * fix profile files structure (keep the same convention as in other targets, ex. ar71xx)

in various .mk profiles, in ramips target.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46631
2015-08-17 06:01:38 +00:00
John Crispin
0d464c360f ramips: remove old code for Edimax BR-6524N
It seems that support for Edimax BR-6524N was dropped long time ago (dts file for this device is missing).
This patch removes remaining code.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46630
2015-08-17 06:01:23 +00:00
John Crispin
2fe5cf2bd6 ramips: fix 7Links PX-4885 dts{, i}, board, image and profile names
The following patch changes 7Links PX-4885 dts{,i} filenames, board, image and profile names from "PX4885" to "PX-4885" (for consistency).

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46629
2015-08-17 06:01:06 +00:00
John Crispin
e4b6dcee5e ramips: fix Buffalo WMR-300 dts, board, image and profile names
The following patch changes Buffalo WMR-300 dts filename, board, image and profile names from "WMR300" to "WMR-300" (for consistency).

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>

SVN-Revision: 46628
2015-08-17 06:00:49 +00:00