-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add support for the fine3399 with the Linux 6.1 #6949
Comments
Currently, I have submitted support for the fine3399 board in the main Armbian source code for Linux kernel versions 6.6 and 6.9. |
Since it's part of rockchip64, you can't. The goal is to support the most recent LTS and stable versions if at all possible. Does the board come with such a st77xx screen or is it some kind of official addon (like the pcie hat for the Raspberry Pi)? |
The board has an 8-pin SPI connector that can be used to connect small screens such as ST7735 and ST7789. In kernel versions below 6.1, the initialization of GPIOs was done using the functions of_get_gpio_flags and of_get_named_gpio_flags(), which are part of the gpiolib and Device Tree (DT) support. However, in the 6.3 kernel, these functions have been removed. |
3399 family does not have stock Rockchip "vendor" branch. If we are talking about vendor kernel, then it would be possible (but it is some work which we can't do) to add / merge just an idea ... |
My idea is to introduce a new "legacy" option (tentatively named as "legacy") in the KERNEL_TARGET section of the fine3399.csc file. Additionally, I plan to make the following changes: Modify config/sources/families/rockchip64.conf:I will add a new case in this configuration file to handle the "legacy" branch. This will include setting specific variables for the kernel version, Linux family, and the configuration file name tailored for the "legacy" branch.
Add a New Kernel Configuration File:In the config/kernel/ directory, I will create a new configuration file named linux-rockchip64-legacy.config. This file will contain the specific kernel configuration settings required for the "legacy" branch. Prepare a Folder for DTS and Patches:Under the patch/kernel/archive/ directory, I will create a new folder named rockchip64-6.1. This folder will be used to store the Device Tree Source (DTS) files and any necessary patches specific to the Fine3399 board, targeted for the Linux 6.1 kernel, under the "legacy" configuration. |
Well, this would create some troubles as we had "legacy" target before and there are boards out there running that kernel (v4.4.y). If we push mainline based kernel over those, it won't be good. Remember, all those targets are being pushed to package repository. Name has to be different. I don't understand the actual aim here - do you want to have:
In case you plan to use this 6.1 kernel https://github.com/armbian/linux-rockchip then it name has to be "vendor" instead of "legacy". |
What I desire is to have a 6.1 kernel based on the mainline, which is also the most optimized for my specific board (meaning I need to apply patches for the kernel drivers specific to my board), and be able to follow the updates for minor versions of the kernel as the mainline progresses. So, should I submit the relevant DTS (Device Tree Source) files and patches for my board to https://github.com/armbian/linux-rockchip? |
Why then you don't go and start with 6.6. mainline based? It should be less work to fix what is missing then introducing 6.1 mainline based. Which we used to have, but dropped due to upgrade to 6.6.
We never used 6.1 Rockchip with 3399 SoC (only older) but this is supposed to be best featured kernel for this SoC, maintained by Rockchip.
I can't tell you what is the best for your case, I know too little. I am just telling you what are options. |
Thank you! If I really want to use the 6.1 kernel, but the Armbian mainline has moved on from supporting it, how can I proceed?" |
I am suggesting you to think about and look into 6.6.y I don't understand why would 6.1 be so special that you need it and you can't backport functionality from 6.6.y (in case it only exists there). In both cases its some work and we have less then zero budget to help you in this. |
|
Oh, that is unfortunate and doesn't seems like a trivial problem :( See this: linux-image-legacy-rk33xx would at least not make any conflicts. And leave / add / try also vendor 6.1.y kernel for this SoC. If not for you, someone else might find that useful / interesting. Also if this is only for you, you might keep this at your fork and update it with our changes. When you got it working, sent a PR and if nobody opposes, we can merge it. |
If this is the case, adding a 6.1 would be a bandaid. Focus on mainline (6.11-rcX), make it work there, then backport to 6.6.y. |
Okay, thanks! |
I basically see these two options:
Going back to older kernels is, in my opinion and as far as I understand the goals of the Armbian project, counterproductive since 95% of stuff is (better) supported in the latest kernels. Adding an additional kernel will also increase maintenance burden overall. |
This is the removal notice for version 6.3: gpiolib: of: remove of_get_gpio_flags and of_get_named_gpio_flags() |
Have a look at how other screens or other boards do it :) I'm sure you can figure out a way to make it work on Linux 6.10 👍 |
At present, this board can only be compatible with and use the small screens of the st77xx series. The AvaotaA1 AI development board of Wei Dongshan also uses the small screens of the st77xx series, but only firmware with kernel 6.1 and below can be used normally on this board. |
Which feature would you like to have?
Hello, I would like to add support for the fine3399 with the Linux 6.1 kernel into the main Armbian source code. This is because the Linux 6.1 kernel and its earlier versions support the st77xx series of small screens, whereas starting from the Linux 6.6 kernel, subsequent versions no longer provide support for the st77xx series. How should I proceed to achieve this goal?
Funding
The text was updated successfully, but these errors were encountered: