Commit Graph

619 Commits

Author SHA1 Message Date
Daniel Golle
5788b494f9 mediatek: fix sysupgrade on MTK7986 rfba AP
A line in platform.sh was accidentally removed when adding support
for the Bananapi BPi-R3.
Re-add it to fix sysupgrade on the MTK7986 rfba AP.

Fixes: a96382c1bb ("mediatek: add support for Bananapi BPi-R3")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-09-06 03:29:47 +01:00
Felix Fietkau
0c8e5c35c7 mediatek: fix fallout after etron spinand backport
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-09-05 11:46:47 +02:00
Daniel Golle
be555b9dd8 mediatek: mt7622: fix DTS compatible of UniFi 6 LR variants
Make sure the compatible string in DTS matches the now v1/v2
differentiated board name in target/linux/mediatek/image/mt7622.mk.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-09-03 02:27:59 +01:00
Daniel Golle
a96382c1bb mediatek: add support for Bananapi BPi-R3
The Bananapi BPi-R3 is a development router board built around the
MediaTek Filogic 830 (MT7986A) SoC.
The board can boot either from microSD, SPI-NAND, SPI-NOR or eMMC.
Only either SPI-NAND or SPI-NOR can be used at the same time, also only
either microSD or eMMC can be used. The various storage options can be
selected using small SMD switches on the board.

Specs:
 * MediaTek MT7986A (Filogic 830) 4x ARM Cortex A53
 * 4T4R 2.4G 802.11bgnax (MT7975N)
 * 4T4R 5G 802.11anac/ax (MT7975P)
 * 2 GB DDR4 RAM
 * 8 GB eMMC
 * 128 MB SPI-NAND flash
 * 32 MB SPI-NOR flash
 * on-board MT7531 GbE switch
 * 2x SFP+ (1 GbE / 2.5 GbE)
 * 5x GbE network port
 * miniPCIe slot (only USB 2.0 connected)
 * uSIM slot (connected to miniPCIe interface)
 * M.2 KEY-E PCIe interface (PCIe x2)
 * microSD card interface
 * 26 PIN GPIO

Hardware details: https://wiki.banana-pi.org/Banana_Pi_BPI-R3

Working:
 * all 4 boot methods incl. installation via U-Boot, sysupgrade, ...
 * copper LAN and WAN ports
 * SFP1 (connected to gmac1, eth1 in Linux)
 * WiFi
 * LEDs
 * Buttons
 * PSTORE/ramoops based dual-boot

Not Working (missing driver features):
 * SFP2 (connected to MT7531 switch)

Untested:
 * M.2/NGFF slot (PCIe x2)
 * mPCIe slot (USB 2.0 + SIM)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-30 13:36:28 +01:00
Daniel Golle
aab466f422 kernel: backport generic phylink validate
Backport generic phylink validate series and make use of it for
mtk_eth_soc Ethernet driver as well as mt7530 DSA driver.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-30 13:36:28 +01:00
Daniel Golle
06c4fc6d5e kernel: enable inside secure driver for MediaTek platforms
Older MT7623 ARMv7 SoC as well as new Filogic platforms come with
inside-secure,safexcel-eip97 units. Enable them in DTS and select the
driver kernel module by default on those platforms.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-28 20:33:15 +01:00
Felix Fietkau
cffc77ae55 mediatek: add filogic subtarget
Initially this covers MT7986 only, but it will later be expanded to cover other
Filogic branded platforms by MediaTek

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-28 20:33:15 +01:00
Sam Shih
dabcaac443 mediatek: add mt7986 soc support to the target
It will be supported by the new filogic subtarget

Signed-off-by: Sam Shih <sam.shih@mediatek.com>
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-28 20:33:15 +01:00
Daniel Golle
51f4c84178 mediatek: mt7622: use variable sector size for spi-nor
Make use of minor sector size (4k) on supported SPI-NOR flash chips.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-08-28 16:11:09 +01:00
Petr Štetiar
ca5c695a45 kernel: bump 5.15 to 5.15.62
Deleted following upstreamed patches:

 bcm27xx: 950-0006-drm-vc4-hdmi-Fix-HPD-GPIO-detection.patch
 bcm27xx: 950-0420-drm-vc4-Adopt-the-dma-configuration-from-the-HVS-or-.patch
 bcm27xx: 950-0425-drm-vc4-A-present-but-empty-dmas-disables-audio.patch
 bcm27xx: 950-0432-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch
 bcm27xx: 950-0433-vc4-drm-vc4_plane-Remove-subpixel-positioning-check.patch
 bcm27xx: 950-0435-drm-vc4-Correct-pixel-order-for-DSI0.patch
 bcm27xx: 950-0436-drm-vc4-Register-dsi0-as-the-correct-vc4-encoder-typ.patch
 bcm27xx: 950-0437-drm-vc4-Fix-dsi0-interrupt-support.patch
 bcm27xx: 950-0438-drm-vc4-Add-correct-stop-condition-to-vc4_dsi_encode.patch
 bcm27xx: 950-0443-drm-vc4-Fix-timings-for-interlaced-modes.patch
 bcm27xx: 950-0445-drm-vc4-Fix-margin-calculations-for-the-right-bottom.patch
 bcm27xx: 950-0475-drm-vc4-Reset-HDMI-MISC_CONTROL-register.patch
 bcm27xx: 950-0476-drm-vc4-Release-workaround-buffer-and-DMA-in-error-p.patch
 bcm27xx: 950-0477-drm-vc4-Correct-DSI-divider-calculations.patch
 bcm27xx: 950-0664-drm-vc4-dsi-Correct-max-divider-to-255-not-7.patch

 bcm53xx: 072-next-ARM_dts_BCM53015-add-mr26.patch

 mediatek: 920-linux-next-dts-mt7622-bpi-r64-fix-wps-button.patch

Manually rebased following patches:

 bcm27xx: 950-0004-drm-vc4-hdmi-Remove-the-DDC-probing-for-status-detec.patch
 bcm27xx: 950-0700-net-phy-lan87xx-Decrease-phy-polling-rate.patch
 bcm27xx: 950-0711-drm-vc4-Rename-bridge-to-out_bridge.patch
 bcm27xx: 950-0713-drm-vc4-Remove-splitting-the-bridge-chain-from-the-d.patch
 bcm27xx: 950-0715-drm-vc4-Convert-vc4_dsi-to-using-a-bridge-instead-of.patch
 bcm27xx: 950-0787-vc4-drm-vc4_plane-Keep-fractional-source-coords-insi.patch
 bcm27xx: 950-0914-mmc-block-Don-t-do-single-sector-reads-during-recove.patch

Runtime tested on turris-omnia and glinet-b1300.

Tested-by: John Audia <therealgraysky@proton.me> [bcm2711/RPi4B, mt7622/RT3200]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2022-08-23 10:37:04 +02:00
Hauke Mehrtens
ff06edd1f0 kernel: Activate CONFIG_GPIOLIB in generic configuration
All targets expect the malta target already activate the CONFIG_GPIOLIB
option. Move it to generic kernel configuration and also activate it for
malta.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-08-10 21:36:17 +02:00
Hauke Mehrtens
0e3bafc601 kernel: Activate CONFIG_INPUT_MISC on all targets
CONFIG_INPUT_MISC does not do any changes to the kernel image, it only
shows some extra kernel configuration options.

Activate it on all targets.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-08-10 21:36:17 +02:00
John Audia
d0d6b8e183
mt7622: remove 300 MHz from dts
Due to the bug described here[1], remove the 300 MHz clock to avoid a low
voltage condition that can cause a hang when rebooting the RT3200/E8450.

This solution is probably better than the script-based work-around[2].

1. https://forum.openwrt.org/t/belkin-rt3200-linksys-e8450-wifi-ax-discussion/94302/1490
2. https://github.com/openwrt/openwrt/pull/5025

Signed-off-by: John Audia <therealgraysky@proton.me>
Tested-by: Rui Salvaterra <rsalvaterra@gmail.com>
Tested-by: John Audia <therealgraysky@proton.me>
2022-07-19 14:26:30 +02:00
Nick Hainke
e34ed3a833
mediatek: mt7622: add linux-next tag to bpi-wps-button fix
920-dts-mt7622-bpi-r64-fix-wps-button.patch is now merged upstream in
linux-next [0]. Add "linux-next" as tag so people know it is upstreamed.

[0] - https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/arm64/boot/dts?id=c98e6e683632386a3bd284acda4342e68aec4c41

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-14 08:35:55 +02:00
Andrew Sim
3872b422ff mediatek: mt7622: add missing vbus regulator node to totolink-a8000ru dts
On boot, kernel log complains no vbus supply is found:

`xhci-mtk 1a0c0000.usb: supply vbus not found, using dummy regulator`

so add the dts node entries to solve the issue

Signed-off-by: Andrew Sim <andrewsimz@gmail.com>
2022-07-07 00:22:23 +01:00
Hauke Mehrtens
dcc0fe24ea kernel: Add missing mediatek configuration options
When building the mediatek/mt7629 target in OpenWrt 22.03 the kernel
does not have a configuration option for CONFIG_CRYPTO_DEV_MEDIATEK. Add
this option to the generic kernel configuration and also add two other
configuration options which are removed when we refresh the mt7629
kernel configuration.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-07-06 20:32:11 +02:00
Daniel Golle
f58e562b07
mediatek: mt7622: fix white dome LED of UniFi 6 LR
The recent differentiation between v1 and v2 of the UniFi 6 LR added
support for the v2 version which has GPIO-controlled LEDs instead of
using an additional microcontroller to drive an RGB led.
The polarity of the white LED, however, was inverted and the default
states didn't make a lot of sense after all. Fix that.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-07-04 19:19:52 +01:00
Nick Hainke
04545c4325
mediatek: 5.15: refresh patches
Refresh patches:
- 510-net-mediatek-add-flow-offload-for-mt7623.patch
- 920-dts-mt7622-bpi-r64-fix-wps-button.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-01 20:24:44 +02:00
Nick Hainke
6686194255
mediatek: mt7622: fix banana pi r64 wps button
Fix the wps button to prevent wrongly detected recovery procedures.
In the official banana pi r64 git the wps button is set to
GPIO_ACTIVE_LOW and not GPIO_ACTIVE_HIGH.

Import patch to fix on boot unwanted recovery entering:

  Press the [f] key and hit [enter] to enter failsafe mode
  Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
  - failsafe button wps was pressed -
  - failsafe -

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-07-01 20:24:43 +02:00
Rui Salvaterra
f1cd144482 kernel: bump 5.15 to 5.15.49
Deleted (upstreamed):
generic/backport-5.15/702-v5.19-34-net-ethernet-mtk_eth_soc-fix-misuse-of-mem-alloc-int.patch [1]

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.49&id=fcba12a4308143f1f1dcb0face8b3ffb51edcc5c

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-27 00:57:16 +02:00
Rui Salvaterra
b55efebb1f kernel: bump 5.15 to 5.15.47
Deleted (upstreamed):
generic/backport-5.15/702-v5.19-32-net-ethernet-mtk_eth_soc-out-of-bounds-read-in-mtk_h.patch [01]

[01] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.47&id=b24ca1cf846273361d5bd73a35de95a486a54b6d

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[Removed 702-v5.19-32-net-ethernet-mtk_eth_soc-out-of-bounds-read-in-mtk_h.patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-06-27 00:57:16 +02:00
Rui Salvaterra
251a382c28 kernel: bump 5.15 to 5.15.46
Deleted (upstreamed):
generic/backport-5.15/400-mtdblock-warn-if-opened-on-NAND.patch [01]
generic/backport-5.15/420-v5.19-01-mtd-spinand-gigadevice-fix-Quad-IO-for-GD5F1GQ5UExxG.patch [02]
bcm27xx/patches-5.15/950-0029-Revert-mailbox-avoid-timer-start-from-callback.patch [03]
bcm27xx/patches-5.15/950-0417-bcm2711_thermal-Don-t-clamp-temperature-at-zero.patch [04]
bcm27xx/patches-5.15/950-0740-drm-vc4-hvs-Fix-frame-count-register-readout.patch [05]
bcm27xx/patches-5.15/950-0755-drm-vc4-hvs-Reset-muxes-at-probe-time.patch [06]
bcm27xx/patches-5.15/950-0759-drm-vc4-txp-Don-t-set-TXP_VSTART_AT_EOF.patch [07]
bcm27xx/patches-5.15/950-0760-drm-vc4-txp-Force-alpha-to-be-0xff-if-it-s-disabled.patch [08]
bcm53xx/patches-5.15/031-v5.17-0005-ARM-dts-BCM5301X-update-CRU-block-description.patch [09]
mediatek/patches-5.15/102-mt7629-enable-arch-timer.patch [10]

Manually rebased:
bcm27xx/patches-5.15/950-0741-drm-vc4-hvs-Use-pointer-to-HVS-in-HVS_READ-and-HVS_W.patch

[01] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=f41c9418c5898c01634675150696da290fb86796
[02] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=d5b66645305c6f3a1b2cf75cee4157b07f293309
[03] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=119f99209d8531359bcb935f252ec435f9d21b13
[04] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=c4e1280abead1552e1764684079a43e222ccd163
[05] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=08465a1889cb48ec64431e9db745b5be15399251
[06] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=0e26a6da02e63b75b629573d13966c36aa6264f0
[07] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=01c9020b2e7c85e394879f34851805179ac3d1d8
[08] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=d47f85cc0171a5d3c5bd8cbb8a98983ca3357cbd
[09] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=5151f24ac937ff7eb1f078257c66e3c0f0296010
[10] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.46&id=ffea838686b82fbb2801cdfad6ba5309d15c032d

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-27 00:57:16 +02:00
Tomasz Maciej Nowak
539e60539a generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]
This is now built-in, enable so it won't propagate on target configs.

Link: https://lkml.org/lkml/2022/1/3/168
Fixes: 79e7a2552e ("kernel: bump 5.15 to 5.15.44")
Fixes: 0ca9367069 ("kernel: bump 5.10 to 5.10.119")
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
(Link to Kernel's commit taht made it built-in,
CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-06-24 17:10:24 +02:00
Daniel Golle
692d87a27b
mediatek: UniFi 6 LR: disable RTC
There is not RTC battery connected to the SoC of the UniFi 6 LR board.
Disable the RTC to prevent the system coming up with time set to
2000-01-01 00:00:00 after each reboot.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-06-18 17:32:07 +01:00
Felix Fietkau
7676808434 kernel: backport upstream mtk_eth_soc patches
Includes MT7986 ethernet support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-06-18 10:33:30 +02:00
Henrik Riomar
31d86a1a11 mediatek: add Ubiquiti UniFi 6 LR v2 targets
Add targets:
 * Ubiquiti UniFi 6 LR v2
 * Ubiquiti UniFi 6 LR v2 (U-Boot mod)

This target does not have a RGB led bar like v1 did

Used target/linux/ramips/dts/mt7621_ubnt_unifi.dtsi as inspiration

The white dome LED is default-on, blue will turn on when the system is
in running state

Signed-off-by: Henrik Riomar <henrik.riomar@gmail.com>
2022-06-11 19:51:33 +01:00
Henrik Riomar
5c8d3893a7 mediatek: new target ubnt_unifi-6-lr-v1-ubootmod
based on current ubnt_unifi-6-lr-ubootmod

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[added SUPPORTED_DEVICES for compatibility with existing setups]
Signed-off-by: Henrik Riomar <henrik.riomar@gmail.com>
2022-06-11 19:51:18 +01:00
Henrik Riomar
15a02471bb mediatek: new target mt7622-ubnt-unifi-6-lr-v1
Based on current mt7622-ubnt-unifi-6-lr, this is a preparation for
adding a v2 version of this target

* v1 - with led-bar
* v2 - two simple GPIO connected LEDs (in later commits)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[added SUPPORTED_DEVICES for compatibility with existing setups]
Signed-off-by: Henrik Riomar <henrik.riomar@gmail.com>
2022-06-11 19:50:26 +01:00
Rui Salvaterra
fbf6992f2b kernel: bump 5.15 to 5.15.45
Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-06 19:20:28 +02:00
INAGAKI Hiroshi
58b3b557b6 mediatek: mt7622: add support for ELECOM WRC-X3200GST3
ELECOM WRC-X3200GST3 is a 2.4/5 GHz band 11ax (Wi-Fi 6) router, based on
MT7622B.

Specifications:

- SoC		: MediaTek MT7622B
- RAM		: DDR3 512 MiB (Nanya NT5CC256M16ER-EK)
- Flash		: SPI-NAND 128 MiB (Winbond W25N01GVZEIG)
- WLAN		: 2.4/5 GHz 4T4R
  - 2.4 GHz	: MediaTek MT7622B (SoC)
  - 5 GHz	: MediaTek MT7915A
- Ethernet	: 5x 10/100/1000 Mbps
  - Switch	: MediaTek MT7531
- LEDs/Keys	: 6x/4x (2x buttons, 1x slide-switch)
- UART		: through-hole on PCB
  - J19: 3.3V, GND, TX, RX from power jack side
  - 115200n8
- Power		: 12 VDC, 1.5 A

Flash instruction using factory image:

1. Boot WRC-X3200GST3 normally with "Router" mode
2. Access to "http://192.168.2.1/" and open firmware update page
   ("ファームウェア更新")
3. Select the OpenWrt factory image and click apply ("適用") button
4. Wait ~120 seconds to complete flashing

MAC Addresses:

LAN    : 04:AB:18:xx:xx:77 (Factory, 0x7FFF4 (hex))
WAN    : 04:AB:18:xx:xx:78 (Factory, 0x7FFFA (hex))
2.4 GHz: 04:AB:18:xx:xx:79 (Factory, 0x4     (hex))
5 GHz  : 04:AB:18:xx:xx:7A (none)

Note:

- currently, there is no "phy1tpt" trigger for 5 GHz wlan (MT7915) in
  "trigger" file of LEDs, use "phy1radio" trigger instead

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2022-05-21 22:27:01 +01:00
Tony Ambardar
76fae1d169 config: limit CONFIG_DEBUG_INFO to top-level generic configs
Remove redundant target-level entries, noting that these settings will be
configured from "Kernel build options" of Kconfig.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
[remove from new configs introduced after patch submission]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-05-18 13:32:06 +03:00
Rui Salvaterra
d9a063c396 kernel: bump 5.15 to 5.15.38
Deleted (upstreamed):
mediatek/patches-5.15/120-10-v5.18-mtd-nand-fix-ecc-parameters-for-mt7622.patch [1]

Other patches automatically rebased.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.38&id=3ec920d755ae69c201b358e8d8e96c32f51145d8

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-05-09 20:49:50 +01:00
Rui Salvaterra
634a45cf1d kernel: bump 5.15 to 5.15.37
Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-05-09 20:49:50 +01:00
Rui Salvaterra
c3569a70c6 kernel: bump 5.15 to 5.15.36
Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-05-09 20:49:50 +01:00
Chuanhong Guo
d9ea9c06e9 mediatek: build ubnt-ledbar as a module
The config for LEDS_UBNT_LEDBAR doesn't stay in mt7629 kconfig because
of its I2C dependency. Build it as a module and let buildroot handle
this config option instead.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-30 23:13:33 +08:00
Chuanhong Guo
dcf7285b71 mediatek: mt7629: disable auxadc in kconfig
manually edit kconfig to disable MT6577_AUXADC

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-30 23:13:33 +08:00
Chuanhong Guo
3816b2231c mediatek: mt7623: disable various input devices
Disable support for joysticks, micee and tablets. There's no actual
driver selected in kconfig, and including kernel support is just a
waste of space. Besides that, I believe nobody wants these on a router.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-30 23:13:33 +08:00
Chuanhong Guo
99cd44487e mediatek: mt7622: add irq for spi-nor controller
Save some CPU from unnecessary polling and make SPI flash reading
a tiny bit faster.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-30 23:13:33 +08:00
Daniel Golle
593fe90b53
mediatek: remove left-overs from Linux 5.10
Remove patches and configuration for Linux 5.10 which have been left
in the tree despite the target having been switched to Linux 5.15.

Fixes: c283defa88 ("mediatek: switch to 5.15")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-04-30 16:00:24 +01:00
Daniel Golle
eb96f1413a
mediatek: enable multi-core scheduling
Set CONFIG_SCHED_MC in config-5.15 to have make the scheduler aware
of shared caches.

Reported-by: Rui Salvaterra <rsalvaterra@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-04-30 16:00:19 +01:00
Daniel Golle
9b4041fa2e
mediatek: refresh patches for Linux 5.15
Run `make target/linux/refresh` to align patches with OpenWrt style.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-04-30 16:00:15 +01:00
Daniel Golle
5d135fcf9d
mediatek: backport recent DTS improvements for MT7622 SoC
Daniel Golle:
 190-arm64-dts-mediatek-mt7622-fix-GICv2-range.patch

Rui Salvaterra:
 191-arm64-dts-mt7622-specify-the-L2-cache-topology.patch
 192-arm64-dts-mt7622-specify-the-number-of-DMA-requests.patch

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-04-30 16:00:10 +01:00
Chuanhong Guo
852126680e mediatek: mt7629: disable mtk thermal
Manually edit kconfig to disable CONFIG_MTK_THERMAL

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-29 11:47:04 +08:00
Chuanhong Guo
5de8c3dc1f mediatek: mt7623: disable ecc engine support
There's no board using nand on this target atm.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-29 11:32:51 +08:00
Chuanhong Guo
b2d802f839 mediatek: mt7623 enable arch-timer with a patch
Last attempt on this has a typo and doen't work.
It seems that this is a common problem occurring on every kernel bump,
so let's enforce arch timer support for mt7623 with a patch instead.

Fixes: 9a22943eb2 ("mediatek: 5.15: re-enable arch timer on MT7623 as well")
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-29 11:32:28 +08:00
Chuanhong Guo
c283defa88 mediatek: switch to 5.15
the SPI-NAND driver switch breaks dts compatibility. It's too much work
to backport all ECC framework support to 5.10 so let's switch the target
to 5.15 instead.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-28 21:57:18 +08:00
Chuanhong Guo
6470018c57 mediatek: enable snfi for mt7629
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-28 21:57:18 +08:00
Chuanhong Guo
fe079b7e0e mediatek: restore support for Fidelix FM35X1GA
This patch was dropped when the spi-nand driver got replaced last time.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-28 21:57:06 +08:00
Chuanhong Guo
68d5efaa10 mediatek: add an upstreamed spi-nand driver
This patch implements the spi-nand controller driver as an ECC-capable
spi-mem controller to use the upstream SPI-NAND driver.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-28 18:06:00 +08:00
Chuanhong Guo
2138956bdc mediatek: spi-nand: check for 1 byte BBM only
the OOB layout in MTK SNFI uses the 2nd byte, and anything using OOB
will make the block a bad-block in spi-nand driver.
Hack it for now. We need a proper solution upstream.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-28 18:06:00 +08:00
Chuanhong Guo
861efe158a mediatek: v5.15: backport spi-mem ecc support
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-28 18:06:00 +08:00
Chuanhong Guo
3e5925225e mediatek: drop spi-nand driver from mtk
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-28 18:06:00 +08:00
Daniel Golle
fc245338d6
mediatek: mt7622: remove '0x' prefix from pstore address in dts
Adresses of device tree nodes are typically noted without the '0x'
prefix. While having the '0x' prefix doesn't hurt when using Linux,
more recent versions of U-Boot will add a duplicate ramoops node as a
simple string compare is used to check if the node is already present.

Remove the '0x' prefix to avoid the kernel warning resulting from
U-Boot adding a dupplicate pstore/ramoops node.

See also https://lists.denx.de/pipermail/u-boot/2022-April/481810.html

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-04-19 17:07:23 +01:00
Eneas U de Queiroz
3f2d0703b6 mediatek: remove crypto-hw-mtk package
The MediaTek's Crypto Engine module is only available for mt7623, in
which case it is built into the kernel.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2022-04-19 19:05:32 +08:00
Daniel Golle
9a22943eb2
mediatek: 5.15: re-enable arch timer on MT7623 as well
Re-enable arch timer also on MT7623, yet another time.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-04-14 07:34:50 +01:00
Chuanhong Guo
e30424112e mediatek: 5.15: enable arm arch timer for mt7629
otherwise the system delay is completely broken.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2022-04-14 13:35:12 +08:00
Eneas U de Queiroz
c9c2b01b84 mediatek/mt7622: enable accelerated crypto drivers
Use ARMv8 Crypto Extensions for AES, ghash and sha256.

This results in a 16 times speed gain in speed for aes-128-ctr, 17x in
aes-128-gcm, and 9 times in sha256.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2022-04-11 20:25:34 +01:00
John Audia
b92ec82235 kernel: bump 5.10 to 5.10.110
Removed upstreamed:
  generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch
  generic/pending-5.10/850-0014-PCI-aardvark-Fix-reading-PCI_EXP_RTSTA_PME-bit-on-em.patch
  ipq40xx/patches-5.10/105-ipq40xx-fix-sleep-clock.patch

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Compile-/run-tested: ath79/generic (Archer C7 v2).

Signed-off-by: John Audia <graysky@archlinux.us>
2022-04-09 19:31:46 +02:00
Rui Salvaterra
be381a7ac7 kernel: bump 5.15 to 5.15.33
Deleted (upstreamed):
generic/backport-5.15/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch [1]
generic/backport-5.15/730-v5.16-hv-utils-add-PTP_1588_CLOCK-to-Kconfig-to-fix-build.patch [2]
generic/pending-5.15/850-0014-PCI-aardvark-Fix-reading-PCI_EXP_RTSTA_PME-bit-on-em.patch [3]
generic/pending-5.15/850-0002-PCI-aardvark-Fix-reading-MSI-interrupt-number.patch [4]

Manually rebased:
generic/pending-5.15/850-0002-PCI-aardvark-Fix-reading-MSI-interrupt-number.patch
ramips/patches-5.15/710-at803x.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.33&id=d29cda15cab086d82d692de016f7249545d4b6b4
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.33&id=d5aad7d63b1b5c1f3c4b69e12c05e7c7d196fae8
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.33&id=ed750e22e44366e264bcdf7b1cf0713f08f7980a
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.33&id=0fe94b84c43cfea867e1721606185e8686d7d32f

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
[Refresh patches again]
[Remove generic/pending-5.15/850-0002-PCI-aardvark-Fix-reading-MSI-interrupt-number.patch]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-04-09 19:31:46 +02:00
Aleksander Jan Bajkowski
a98ded6c5c kernel: move some symbols to generic config
This commit add some enabled symbols to generic config.
LTO is only supported by clang compiler and therefore should
be disabled in the generic config instead of duplicating this
symbol in each target. CONFIG_LTO_NONE do this job.

The second group of symbols is enabled by the options available
in the generic config and is therefore added here:
* CONFIG_AF_UNIX_OOB is selected by CONFIG_NET && CONFIG_UNIX,
* CONFIG_BINARY_PRINTF is selected by CONFIG_BPF_SYSCALL,
* CONFIG_NET_SOCK_MSG is selected by CONFIG_BPF_SYSCALL && CONFIG_NET.

The other symbols are disabled and should be in the generic config.

This commit also removes these symbols from subtargets.

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
2022-04-09 19:31:46 +02:00
John Audia
c41da167d2 kernel: bump 5.10 to 5.10.109
All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200

Signed-off-by: John Audia <graysky@archlinux.us>
2022-03-30 18:33:38 +02:00
Daniel Golle
c3029f3652
mediatek: add 5.15 config for mt7623 and mt7629
Compile tested both with all kernel modules.
Run-time tested mt7623 on BananaPi-R2.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-03-27 14:51:04 +01:00
Felix Fietkau
ade563ba84 mediatek: add patches for 5.15 and kernel config for mt7622
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-27 12:55:53 +02:00
Felix Fietkau
0f029b3d2b mediatek: add patches for MT7622 WED (wireless ethernet dispatch)
This series also contains other improvement for hardware flow offload support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-27 12:54:38 +02:00
Ansuel Smith
07b92c636a generic: 5.15: refresh config
Refresh kernel 5.15 generic config file

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[added some missing Kconfig symbols]
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-03-27 02:17:24 +01:00
Felix Fietkau
fdbb468c59 ramips/mediatek: enable threaded NAPI in the ethernet driver
Improves performance, especially under load

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-03-21 21:07:14 +01:00
Richard Huynh
9f9477b275 mediatek: Add support for Xiaomi Redmi Router AX6S
Also known as the "Xiaomi Router AX3200" in western markets,
but only the AX6S is widely installation-capable at this time.

SoC: MediaTek MT7622B
RAM: DDR3 256 MiB (ESMT M15T2G16128A)
Flash: SPI-NAND 128 MiB (ESMT F50L1G41LB or Gigadevice GD5F1GQ5xExxG)
WLAN: 2.4/5 GHz 4T4R
2.4 GHz: MediaTek MT7622B
5 GHz: MediaTek MT7915E
Ethernet: 4x 10/100/1000 Mbps
Switch: MediaTek MT7531B
LEDs/Keys: 2/2 (Internet + System LED, Mesh button + Reset pin)
UART: Marked J1 on board VCC RX GND TX, beginning from "1". 3.3v, 115200n8
Power: 12 VDC, 1.5 A

Notes:
U-Boot passes through the ethaddr from uboot-env partition,
but also has been known to reset it to a generic mac address
hardcoded in the bootloader.

However, bdata is also populated with the ethernet mac addresses,
but is also typically never written to. Thus this is used instead.

Installation:
1. Flash stock Xiaomi "closed beta" image labelled
'miwifi_rb03_firmware_stable_1.2.7_closedbeta.bin'.
(MD5: 5eedf1632ac97bb5a6bb072c08603ed7)

2. Calculate telnet password from serial number and login

3. Execute commands to prepare device
nvram set ssh_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram set flag_boot_success=1
nvram set flag_try_sys1_failed=0
nvram set flag_try_sys2_failed=0
nvram commit

4. Download and flash image
On computer:
python -m http.server
On router:
cd /tmp
wget http://<IP>:8000/factory.bin
mtd -r write factory.bin firmware

Device should reboot at this point.

Reverting to stock:
Stock Xiaomi recovery tftp that accepts their signed images,
with default ips of 192.168.31.1 + 192.168.31.100.
Stock image should be renamed to tftp server ip in hex (Eg. C0A81F64.img)
Triggered by holding reset pin on powerup.

A simple implementation of this would be via dnsmasq's
dhcp-boot option or using the vendor's (Windows only)
recovery tool available on their website.

Signed-off-by: Richard Huynh <voxlympha@gmail.com>
2022-03-20 18:33:39 +00:00
Richard Huynh
4177de10df mediatek: Add GD5F1GQ5xExxG to mtk-snand
Some units of the Xiaomi Redmi Router AX6S/Xiaomi Router AX3200 contain this part.

Signed-off-by: Richard Huynh <voxlympha@gmail.com>
2022-03-20 18:33:39 +00:00
INAGAKI Hiroshi
cc49abc06b kernel: move parser_trx patches of custom magic to generic
This patch moves the patches of parser_trx in mediatek target to
generic/backport-5.10 to use the changes from ramips target and
backport the additional patch of the parser.

Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
2022-03-06 20:40:07 +01:00
Langhua Ye
ce8a33b021 mediatek: add support for Ruijie RG-EW3200GX PRO
X32 Pro is another product  name for it in the Chinese market.

Specifications:
- SoC: MT7622B
- RAM: 256MB
- Flash: XMC XM25QH128C or Winbond WQ25Q128JVSQ 16MB SPI NOR
- Ethernet: 5x1GbE
- Switch: MT7531BE
- WiFi: 2.4G: MT7622 5G: MT7915AN+MT7975AN
- 3LEDs: System LED(blue) + Mesh LED(green) + Mesh LED(red)
- 2Keys: Mesh button + Reset button
- UART: Marked J19 on board. 3.3v, 115200n1
- Power: 12V 2.5A

MAC addresses as verified by OEM firmware:
use   address    source
WAN   *:F4       ethaddr@product_info
LAN   *:F5
5g    *:F6
2g    *:F7

Flash instruction:
1. Serve the initramfs.img using a TFTP server with address 10.10.10.3.
2. Interrupt the uboot startup process via UART.
3. Select "System Load Linux to SDRAM via TFTP" item.
4. (important) Back up firmware(mtd7) partitions with:
        dd if=/dev/mtd7 of=/tmp/firmware.bin
   and then download the firmware.bin image via SCP.
5. Flash the OpenWrt sysupgrade firmware.

Recovery stock firmware:
1. Transfer the firmware.bin image to the device.
2. Flash the image with:
        mtd write firmware.bin firmware

Signed-off-by: Langhua Ye <y1248289414@outlook.com>
2022-03-05 21:06:35 +01:00
Rui Salvaterra
8235723c78 kernel: 5.10: remove CONFIG_DEVTMPFS{,_MOUNT} from kconfigs
They are required for container support, but are handled in Config-kernel.in.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-03-01 22:57:40 +00:00
Rui Salvaterra
72d2c54ccb kernel: 5.10: allocate last level PTEs in high memory
Enable support for allocating user space page table entries in high memory [1],
for the targets which support this feature. This saves precious low memory
(permanently mapped, the only type of memory directly accessible by the kernel).

[1] https://www.kernel.org/doc/html/latest/vm/highmem.html

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-03-01 22:57:34 +00:00
Daniel Golle
9e6a71e86d
mediatek: mt7623: drop RAMFS_COPY_BIN
fwtool is now always part of the sysupgrade stage2 ramdisk, so drop
the no longer needed RAMFS_COPY_BIN variable.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-22 19:19:46 +00:00
Daniel Golle
bb9043031a
mediatek: mt7622: drop RAMFS_COPY_BIN and RAMFS_COPY_DATA
Now that both, fw_printenv/fw_setenv and fwtool are always present
during stage2 sysupgrade, we no longer need to list them in
RAMFS_COPY_BIN and RAMFS_COPY_DATA in platform.sh.
Drop both variables as they are now unneeded.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-22 19:16:08 +00:00
John Audia
c391dcdf86 kernel: bump 5.10 to 5.10.100
All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200

Signed-off-by: John Audia <graysky@archlinux.us>
2022-02-11 23:17:40 +01:00
John Audia
e9c1c83679 kernel: bump 5.10 to 5.10.98
Manually rebased:
	bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch

All other patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200

Signed-off-by: John Audia <graysky@archlinux.us>
2022-02-11 23:17:40 +01:00
Daniel Golle
c32835ccfe
mt7622: linksys-e8450: enable using mt7531 switch irq
Turns out the MT7531 switch IRQ line is connected to GPIO#53 just like
on the BPi-R64, so this seems to be part of the reference design and
will probably apply to most MT7622+MT7531 boards.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-10 15:49:28 +00:00
Daniel Golle
7323ef2ffa
mt7622: bpi-r64: enable using mt7531 switch irq
Now that we support link-state-change interrupts, wire up MT7531 IRQ
line which is connected to GPIO#53 according to the schematics [1].

As a result, PHY state no longer needs to be polled on that board.

[1]: https://forum.banana-pi.org/t/bpi-r64-mt7622-schematic-diagram-public/10118
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-02-10 15:49:18 +00:00
DENG Qingfang
73fd9f79ce
kernel: backport MediaTek Ethernet PHY driver
Add support for MediaTek Gigabit Ethernet PHYs found in MT7530 and
MT7531. Fix some link up/down issues.
The errornous check for the PHY mode which broke things with MT7531
has been removed as suggested by patch
 net: phy: mediatek: remove PHY mode check on MT7531
As a result, things are working fine now on MT7622+MT7531 as well.

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
Tested-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-02-09 21:17:54 +00:00
Hauke Mehrtens
1b311aab31 Revert "kernel: backport MediaTek Ethernet PHY driver"
This reverts commit 8b4cba53a9.

This broke the mt7530 on Linksys e8450 (mt7622) for me.
[    1.312943] mt7530 mdio-bus:00 lan1 (uninitialized): failed to connect to PHY: -EINVAL
[    1.320890] mt7530 mdio-bus:00 lan1 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 0
[    1.331163] mt7530 mdio-bus:00 lan2 (uninitialized): failed to connect to PHY: -EINVAL
[    1.339085] mt7530 mdio-bus:00 lan2 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 1
[    1.349321] mt7530 mdio-bus:00 lan3 (uninitialized): failed to connect to PHY: -EINVAL
[    1.357241] mt7530 mdio-bus:00 lan3 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 2
[    1.367452] mt7530 mdio-bus:00 lan4 (uninitialized): failed to connect to PHY: -EINVAL
[    1.375367] mt7530 mdio-bus:00 lan4 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 3
[    1.385750] mt7530 mdio-bus:00 wan (uninitialized): failed to connect to PHY: -EINVAL
[    1.393575] mt7530 mdio-bus:00 wan (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 4

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-02-05 19:13:19 +01:00
DENG Qingfang
8b4cba53a9 kernel: backport MediaTek Ethernet PHY driver
Add support for MediaTek Gigabit Ethernet PHYs found in MT7530.
Fix some link up/down issues.

Signed-off-by: DENG Qingfang <dqfext@gmail.com>
Tested-by: Arınç ÜNAL <arinc.unal@arinc9.com>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-02-05 17:46:59 +02:00
Daniel Golle
9ba7a83425
mediatek: mt7623: simplify partition generation
The two options 'emmc' and 'sdmmc' now became identical lines after
introducing CONFIG_TARGET_ROOTFS_PARTSIZE.
Remove the now useless if-clauses.

Fixes: a40b4d335a ("mediatek: use CONFIG_TARGET_ROOTFS_PARTSIZE")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-31 15:02:36 +00:00
Daniel Golle
5e6867fd54
mediatek: u7623-02: enable early console also in legacy image
Append 'earlycon=uart8250,mmio32,0x11004000' to the boot arguments
embedded in device-tree in order to enable early console on the
UniElec U7623 board when using the vendor/stock bootloader.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-31 00:10:38 +00:00
Daniel Golle
f5865452ac
mediatek: mt7623: include regular AHCI PCI driver
The legacy image for the UniElec U7623-02 until now included
kmod-ata-ahci-mtk. The MT7623 chip doesn't have that IP and that
board uses a PCIe-connected AHCI controller for the SATA port and
mSATA-pins of the mPCIe socket. Hence include kmod-ata-ahci instead.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-25 00:38:28 +00:00
Daniel Golle
f5278bf820
mediatek: store random MAC address in U-Boot env on first boot
For devboards without a MAC address assigned from factory, store
the random MAC in U-Boot env on first boot to make it persistent.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-23 20:20:47 +00:00
Daniel Golle
31872a38be
uboot-envtools: add configuration for UniElec U7623 board
Add U-Boot env settings to allow accessing the environment using
fw_printenv and fw_setenv tools on the UniElec U7623 board.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-23 20:20:42 +00:00
Daniel Golle
1ee75dd290
mediatek: mt7623: rework images for U7623-02 board
Users of older OpenWrt versions need sysupgrade using the *emmc.img.gz
file once which will upgrade U-Boot and switch to the new image layout.
Users of the vendor firmware need to first flash the legacy image to
then sunsequently carry out a full-flash upgrade.

Alternatively the board can also be flashed using MediaTek's
proprietary SP Flash Tool.

Configuration as well as persistent MAC address will be lost once at
this point and you will have to redo (or restore) all configuration
manually. To restore the previous persistent MAC address users may set
it manually using

fw_setenv ethaddr 00:11:22:33:44:55

For future upgrades once running OpenWrt past this commit, the usual
*sysupgrade.itb file can be used.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-23 20:20:37 +00:00
Daniel Golle
4356e2b58a
mediatek: add common DTS aliases for UniElec U7623 board
* Use serial0 instead of serial2 for the only serial port
 * Add LED aliases
 * Add ethernet0 alias to inherit ethaddr from U-Boot env

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-23 19:48:36 +00:00
Daniel Golle
a40b4d335a
mediatek: use CONFIG_TARGET_ROOTFS_PARTSIZE
Enable 'rootfs-part' feature to make the size of the partition of the
production image configurable instead of hard-coding it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-23 19:48:07 +00:00
David Woodhouse
557067d9b1 mediatek: mt7623: Enable PCIe bus 0 (and thus SATA) on U7623
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2022-01-14 19:43:45 +00:00
Felix Fietkau
76b27f6bb9 mediatek: rework and fix mt7622-rfb1-ubi support
Limit bmt remapping range to cover everything up to and including the kernel image,
use the rest of the flash area for ubi.
Fix partition table and sysupgrade support

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
Felix Fietkau
bcf91fe884 kernel: move mediatek BMT support patch to generic patches
Preparation for supporting BMT on MT7621. Move source files to the files/
subdirectory in order to simplify maintenance

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-01-13 18:33:06 +01:00
David Woodhouse
8cdc356f8c mediatek: mt7623: Re-enable ARM arch timer
CONFIG_ARM_ARCH_TIMER cannot be enabled in the config directly; it is only
selected by CONFIG_HAVE_ARM_ARCH_TIMER. We need to enable the latter in
our config.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Fixes: 4f1c5b01c1 ("mediatek: mt7623: backport musb, improve HDMI console")
2022-01-10 13:45:41 +00:00
David Woodhouse
4648a60058 mediatek: mt7623: Disable power button reset for U7623-02 board
The Unielec U7623 doesn't have a physical power button; I think it's hard
wired so that it turns on automatically when power is applied (unlike the
Banana Pi R2 which is a pain).

So the 'reset on long press of power button' behaviour that we get when
we enable the PMIC keyboard driver is kind of unhelpful. Disable it.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Fixes: 0d3f3323a2 ("mediatek: mt7623: enable more hardware features")
2022-01-10 13:45:41 +00:00
Fritz D. Ansel
693958497a mediatek mt7622: fix 300mhz typo in dts
The lowest frequency should be 300MHz, since that is the label
assigned to the OPP in the mt7622.dtsi device tree, while there is one
missing zero in the actual value.

To be clear, the lowest frequency should be 300MHz instead of 30MHz.

As mentioned @dangowrt on the OpenWrt forum there is no benefit in
leaving 30MHz as the lowest frequency.

Signed-off-by: Jip de Beer <gpk6x3591g0l@opayq.com>
Signed-off-by: Fritz D. Ansel <fdansel@yandex.ru>
2022-01-09 14:48:16 +00:00
Daniel Golle
87b6e10c71
mediatek: Clause-45 MDIO patch accepted upstream
To easy future maintainance, replace the local patch with what has been
accepted into net-next and is likely to end up in Linux 5.17.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-05 14:33:56 +00:00
Daniel Golle
ef1a64caf4
mediatek: let mtk_eth_soc MAC announce 2500Base-T mode
To allows Ethernet phys supporting 2500Base-T mode to announce that
speed, enable the corresponding bit in mtk_eth_soc driver.
This should hopefully unlock 2500Base-T speed on the UniFi 6 LR.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-01-05 00:57:43 +00:00
Daniel Golle
92820cc5b9
mediatek: yet again, replace patch with updated pending patch
Upon comment of Russell King ('Oh no, not this "-1 disease" again.')
clean up mdio read and write return type and value in mtk_eth_soc
driver and also use appropriate return values for bus-busy-timeout-
errors in newly added Clause 45 access code.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-12-27 20:20:10 +00:00
Daniel Golle
c555c34dd1
mediatek: replace patch with version sent upstream
Replace recently added patch
 701-net-ethernet-mtk_eth_soc-add-support-for-clause-45-mdio.patch
with version sent upstream
 701-net-ethernet-mtk_eth_soc-implement-Clause-45-MDIO-access.patch

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-12-27 16:24:23 +00:00
Daniel Golle
8b6d6f28c1
mediatek: mt7622: unifi6lr: properly register Ethernet PHY
This change enables proper Ethernet link status and speed reporting on
the Ubiquiti UniFi 6 LR access point:

 mtk_soc_eth 1b100000.ethernet eth0: PHY [mdio-bus:08] driver [Aquantia AQR112C] (irq=POLL)
 mtk_soc_eth 1b100000.ethernet eth0: configuring for phy/2500base-x link mode
 mtk_soc_eth 1b100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-12-26 19:11:54 +00:00