Jump to content

usual user

Members
  • Posts

    468
  • Joined

  • Last visited

Everything posted by usual user

  1. "/sys/kernel/debug/gpio" represents what the kernel has instantiated. Its accuracy depends on the exact description (DT), as the layout cannot be probed. But many people think they can copy DT fragments of similar devices together to get an exact description of a particular device without verification. But it's just like a device schematic, it will never accurately replicate the layout design of another device. DT is just one step further, as it can change the layout itself at runtime. The test was intended to verify that the GPIO subsystem is correctly configured and that the GPIO line can be acquired from a native GPIO process. This is because the line cannot be operated as a native CS line by the SPI IP but only emulated with the cooperation of the GPIO Subsystem. Mine does:
  2. Of course, I don't know which patches Armbian has applied at times, but what looks suspicious is the fact that the gpio line numbers used in the "/sys/kernel/debug/gpio" logs for the gpiochip1 differ. This shouldn't be caused by the DT, and if it is, it should be the same as using the 5.15.88 variant again. To test the basic function of the GPIO subsystem in 6.6.16, post the state of "/sys/kernel/debug/gpio" while gpioset -c0 34=on is running at the same time with root permissions.
  3. /boot/dtb/ is probably a symlink to the real /boot/dtb-5.15.88 dirctory with the version number in the name to hint the source version the DTBs are build from. I usually have plenty of kernels installed at the same time, so that it only takes to adjust the symlink to refer to a different DTB set. But this doesn't work so easily in Armbian with its single kernel layout strategy, because it results in name and directory conflicts there. But in your case, it should be sufficient to copy the /boot/dtb-5.15.88 directory alongside to the /boot/dtb-6.6.16 directory and adjust the symlink accordingly. Oh, just to be clear, they're both mainline kernel builds and there's no legacy kernel fork involved, because in this case it won't work, because most likely incompatible out of tree hacks are involved. You can't mix binaries of kernel components of different versions, not even different builds of the same version, because you can't make sure that the ABI hasn't changed. For DTBs intermixing is possible because they describe hardware and are agnostic of the consumer binary code. The mainline kernel with its "no regression" policy ensures that earlier releases remain functional. For a given userspace, you can use any kernel as long as it's build is configured with the same components, because it exposes a stable userspace-kernel API.
  4. To rule out that with the error prone Armbian DT workflow something got messed up, run the 6.6.16 kernel with the DTB and its related DTBOs created with the 5.15.88 build.
  5. Look at "/sys/kernel/debug/gpio", it will tell you wich gpio is in use by which driver.
  6. Bootstd is scanning for a valid bootflow at the partition where the bootflag is set. If none is set, the first partition is used as a fall-back default.
  7. Mainline U-Boot scans at various locations for valid bootflows. Usually eMMC and microSD are scanned befor NVMe, so as long as an valid bootflow is found there, that one is used.
  8. Looks like some partition format mixup, btrfs vs. ext4.
  9. You are still using legacy firmware, the first step should be to switch to mainline.
  10. Setup mem=16G at kernel cmdline.
  11. The issue is probably due to the fact that rk35xx SoCs have to carve out some memory areas above 16 GB as reserved. Access to those areas leads to crashes. Because no fully open source TF-A is available yet, current mainline U-Boot has mechanisms landed to take the area information from the closed source TPL. Chances are the firmware you're using hasn't backported this yet, because devices larger than 16GB are only now becoming widely available in the open market.
  12. I would run: gpiomon --consumer 433MHz --edges both --format "%S %E" con1-07 | tee 433MHz.log I would let gnuplot chew on the result of the gpiomon run to visualize (433MHz.pdf) it, because I can interpret an image better than any columns of numbers. This is a program that is over thirty years old and works on almost every platform and can be used in any environment, and you can only complain that it is not a special solution and that you don't have to rebuild half the system yourself, but that doesn't bother me. After I have identified the relevant places, I would take the corresponding timeings from the log and thus generate a suitable gpioset command that imitates the original.
  13. No, it's just the spec with which my currently running mesa is built. Already the mesa version with which I started had all the necessary, essential functions. Of course, all bug fixes and improvements that have been incorporated in the meantime are not included there. No, there is not much to see in terms of kernel. As long as the Panfrost driver is built and the Mali GPU is properly wired-up in DT, there is nothing to do. It's about the user space counterpart mesa. It is the component that make use of the GPU the kernel exposes. If you want to check all dependencies, you have to look at all spec files that are pulled by Requires from the mesa package. For me, however, this is done by the package manager during installation. And to build mesa, I install all BuildRequires with: dnf builddep mesa.spec But building Mesa yourself has long since ceased to be necessary, as no modifications are necessary and the standard package works out-of-the-box. Your build configuration options are looking incomplete. Here's an excerpt from the build.log resulting from the spec file: /usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . redhat-linux-build -Dplatforms=x11,wayland -Ddri3=enabled -Dosmesa=true -Dgallium drivers=swrast,virgl,nouveau,r300,svga,radeonsi,r600,freedreno,etnaviv,tegra,vc4,v3d,kmsro,lima,panfrost,zink -Dgallium-vdpau=enabled -Dgallium-omx=bellagio -Dgallium-va=enabled -Dgallium-xa=enabled -Dgallium-nine=true -Dteflon=true -Dgallium-opencl=icd -Dgallium-rusticl=true -Dvulkan-drivers=swrast,amd,broadcom,freedreno,panfrost,imagination-experimental,nouveau -Dvulkan-layers=device-select -Dshared-glapi=enabled -Dgles1=enabled -Dgles2=enabled -Dopengl=true -Dgbm=enabled -Dglx=dri -Degl=enabled -Dglvnd=enabled -Dintel-rt=disabled -Dmicrosoft-clc=disabled -Dllvm=enabled -Dshared-llvm=enabled -Dvalgrind=enabled -Dbuild-tests=false -Dselinux=true -Dandroid-libbacktrace=disabled
  14. Have you made sure that all BuildRequires have been properly fulfilled and that the build configuration options have been selected correctly? Especially hardware-related ones.
  15. I've started with this, but the logs provided are created with this system: However, the system used is not really important, the Mali support has been very mature in mainline for a long time, so any correspondingly built system should be usable.
  16. Works for me since ages. glmark2-wayland-nanopc-t4.logclinfo-fp-nanopc-t4.log
  17. I guess with such an attitude you certainly can't motivate anyone to find an immediate solution to your problem. Maybe you'll be lucky and it will work with a future release, but until then all you can do is keep trying and waiting. You got what you paid for. The currency here is to contribute to the project (Armbian) and help with problem analysis. The project is community driven and you are a member of the community.
  18. Does it make a difference if you drop in this firmware?
  19. Since userspace cannot sensibly select between two decoder instances of the same type, the H.264 hanto decoder is usually disabled for the rk3399 and the H.264 rkvdec is preferred. videoX-infos-nanopc-t4.log
  20. meson-g12b-odroid-n2-plus.dtb is a base DTB with a static applied overlay. In your mentioned thread at post 23 is a reference to a parallel thread where the overlay source is provided. So prepare a PR so that the overlay can be included in Armbian. You'll probably reap tons of grateful users who have been waiting for someone to make the effort.
  21. Some settings that were set at build time can't be modified at runtime. This requires a new firmware build, e.g. to set the boot delay to 0, the build configuration has to be set to "CONFIG_BOOTDELAY=0". This is due to the build configuration. The build configuration determines the properties of a binary created from a certain source. These can be detail settings, or even decisive for which hardware it is usable. Finally, U-Boot can be built for all devices from the same source of a given release version. E.g. "make libretech-cc_defconfig" prepares a default configuration for LePotato. You can use "make menuconfig" to fine tune it afterwards. I don't know the details of Armbian's build framework, but I'm sure you can inject a patch that implements your desired change.
  22. This is not correct. Due to its size, U-Boot must be run from RAM. The RAM must therefore already be initialized before U-Boot can be loaded at all. This is usually done by Trusted Firmware-A (TF-A). U-Boot is only the payload (in TF-A terminology: BL33). You might want to read TF-A's documentation to understand the boot flow, I think here is a good place to start. You're lucky if TF-A is open source for your SoC, but often only a binary BLOOB for BL2 and BL31 is provided by the SoC manufacturers.
  23. Your firmware is build without persistent Environment. Only the compiled-in Environment is used, which can only be modified before build.
  24. I'm glad you were able to solve your issue. However, I will still stick with my firmware in SPI flash, because it gives me slightly more control over the boot process:
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines