[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1072968: linux-image-6.7.12-arm64: Add support for Mediatek MT7986 SoC



What should I do with issues related to the Linux upstream device tree files?

I noticed a few problems but I am not sure what normal protocol is - should I report it as a bug to Linux directly?

For the record the issues I noticed are (comparing with U-boot and OpenWRTs versions of the device tree files):
- mt7986a.dtsi is missing entry for the SNFI / SNAND interface to load https://github.com/torvalds/linux/blob/83a7eefedc9b56fe7bfeff13b6c7356688ffa670/drivers/spi/spi-mtk-snfi.c
  this is not populated on the BPI-R3 but other boards might use this
- in OpenWRT device tree there are a lot more entries in the efuse map related to the USB and PCIe ports - it seems the USB and PCIe device entries then use these efuse values
- no hnat device - though maybe this is only usable with the proprietary Mediatek driver code
- in OpenWRT device tree there is a different "compatible" string for spi0 (quad) and spi1 (single) - I am not sure if that matters with the upstream driver, hopefully there is a way to check that the MTD device is using the quad SPI / SPIM mode
- the BPI-R3 .dtso overlay files for the NAND and NOR flash options have partition definitions that don't match the device tree in U-boot and OpenWRT - ideally these should match the partitions on a factory fresh board which comes OpenWRT preloaded

Additionally I managed to get Ubuntu 24.04 installed for testing and I will recompile the kernel to add Ethernet device support. This will provide me with a useful reference to test against a Debian install to make sure all devices are showing up.

Thanks,
Leith Bade


On Tue, 11 Jun 2024 at 17:01, Diederik de Haas <didi.debian@cknow.org> wrote:
Hi,

On Tuesday, 11 June 2024 08:02:41 CEST Leith Bade wrote:
> I have a Bananapi BPI-R3 board which uses the Mediatek MT7986 ARM64 SoC for
> its CPU. This is a router focussed board and currently has good support in
> the OpenWRT distribution and in the upstream Linux for a few years. The
> device tree for this board is
> https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/mediatek/m
> t7986a-bananapi- bpi-r3.dts (as well as some .dtso files to enable specific
> flash chip options).

I already have a local branch to add preliminary support for the OpenWrt One
router [1] [2] which uses the same SoC :-)

[1] https://forum.openwrt.org/t/openwrt-one-celebrating-20-years-of-openwrt/183684
[2] https://forum.openwrt.org/t/openwrt-one-celebrating-20-years-of-openwrt/183684/331

> There is a relevant discussion in https://salsa.debian.org/kernel-
> team/linux/-/merge_requests/906#note_483427 which was the code change that
> added the MT8xxx support about the various MT6xxx and MT7xxx modules being
> disabled. This is a shame as it seems that without explicitly disabling them
> then this code change would have added the modules I need.
>
> I am happy to do any testing required to get this board supported.

And that was precisely about adding support for the OpenWrt One ;-)

Happy to update my local branch and add support for the BPi R-3.
I'm waiting for some (unrelated) other changes, but when that's posted
I intend to build a 6.10-rcX based kernel with it and I can 'merge' my
router branch into that. With that you could verify if it indeed works.

HTH,
  Diederik

Reply to: