Banana pi BPI-R3 kernel

Hy :slight_smile: I know that some users of the forum have post some sources for kernel ready to use in git. It’s really practice.

Bu i would like to know if we can find the patches somewhere to integrate thr support for the R3. For exemple : if i want to use a net-next kernel for exemple, i think that i need patch for the dts, some drivers etc…

Thanks by advance

I think when you build with net-next you will have most things already. PWM driver, I2C driver need patches, but the board should work if you just stick in the DTS file from @frank-w’s build or OpenWrt (the build provided by SinoVoip is based on MediaTek SDK and the device tree bindings of those drivers don’t match the ones in upstream Linux and OpenWrt).

1 Like

This is my current tree: https://github.com/frank-w/BPI-R2-4.14/commits/6.0-r3

edit: have cleaned up a bit :slight_smile: (squashing commits for defconfig and reordering to have similar patches together)

1 Like

HY. Thank you for all Informations :slight_smile:

Hy, Thank you for the link. I will work on it this weekend :slight_smile:

Thank you again

Hy, again me ^^

I tried to make my kernel from net-next 6.0.

I token the defconfig i used with your kernel’s sources 6.0-r3 : Here

For dts(i), i token from your sources :
-arch/arm64/boot/dts/mediatek : Makefile, all dts(i) for r64,r3, mt7986a.dtsi,mt7986a-rfb, mt7986b-rfb. -arch/arm64/boot/dts/rockchip : Makefile and dts(i) for r2pro -arch/arm/boot/dts : mt7623.dtsi

Here drivers i token from your sources to replace into net-next : drivers/net/dsa/mt7530.c drivers/rtc/rtc-hym8563.c drivers/net/ethernet/mediatek/mtk_sgmii.c .gitignore : sudo cp /diagbox_r3/kernel/linux-6.0/.gitignore /diagbox_r3/kernel/net-next-6.0/.gitignore drivers/spi/spi-mt65xx.c drivers/usb/serial/qcserial.c drivers/net/usb/qmi_wwan.c drivers/char/hw_random/mtk-rng.c drivers/pinctrl/mediatek/pinctrl-mt7986.c

My dmesg with the new kernel : here

I guess you miss mmc driver patch

From you dmesg:

* [    1.821655] /dev/root: Can't open blockdev

* [    1.825776] VFS: Cannot open root device "mmcblk0p6" or unknown-block(0,0): error -6

* [    1.833501] Please append a correct "root=" boot option; here are the available partitions:

* [    1.841849] 1f00          125440 mtdblock0

* [    1.841854]  (driver?)

* [    1.848376] 1f01            2048 mtdblock1

* [    1.848380]  (driver?)

* [    1.854899] 1f02            3072 mtdblock2

* [    1.854903]  (driver?)

* [    1.861418] 1f03             512 mtdblock3

* [    1.861422]  (driver?)

* [    1.867945] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

You cannot just copy files from any kernel version to any other…you have to add/modify patches. I did a 6.1-rc tree based on torvalds/master (not complete next) to clean up some things before submission when rc1 comes out

Hy, thank you for your answer everytime :slight_smile:

I wil ltry to inspire myself with your last tree : https://github.com/frank-w/BPI-R2-4.14/commits/6.1-rc and https://github.com/frank-w/BPI-R2-4.14/commits/6.0-r3 12

To adapt for net-next 6.0, i must modify files by adding/removing lines like yours ? To apply the line command is : patch -p1 < THE PATCH, isn’t it? Where do you find the patches, or do you make these?

Sorry for all my questions, i am a newbie and try to find understand and correct my errors. Thank to you i found a lot of information and help. Thank you again for all

You can cherry-pick the patches if you add my tree to your git tree (add remotes next and mine).

git cherry-pick commitid

or using “git am”, if you have a mbox file (like patch exported from github or from patchwork)…this preserves commit-message and author-information

If not using git,you can use patch-command you’ve posted.

Why do you want to use next?

As newbie it’s maybe better to use ready trees and only add your own stuff. Starting with next is no easy way. Next will be 6.1-rc1 and in 1 week rc1 is out and i rebase my patches in 6.1-rc on it. This tree is maybe missing some Patches as i had added only some i know not merged. And to prepare dts patches for upstreaming

i get my patches from patchwork (if official posted by other devs), from openwrt, some are from me (like the em7455 patches which are now both in 6.1), some are developed by me together with others (like r3 dts done together with daniel) in many steps and squashed together…

btw. 6.1 at least misses the pcs_state-patch…when i try left sfp i get trace in phylink_mac_pcs_get_state

1 Like

Firstly, i will go on to use your 6.0-r3 kernel.

Even if yours works very well, i wanted to do with net-next to Learn and Understand.

It’s gonna take me a while, but in Parallel of my Project, i will study and search Informations to better understand and to be able to Adapt patch into net-next.

Thank again for your help and yours git :slight_smile:

Sent most driver-patches to mailinglist…i hope we can get them into 6.2. For the pcs-net-patch i wait for author. I plan to send dts-patches in one series when driver changes are accepted.

1 Like

I will follow it :slight_smile: