ArmeBian Posted March 16, 2023 Share Posted March 16, 2023 Hello, i just bought the H96 MAX V56 with android 12 and 8gb of ram. I would like to put a fresh firmware but i would like to keep a similar handy interface and with google play installed. Any easy way to do that? Thanks! 0 Quote Link to comment Share on other sites More sharing options...
SteeMan Posted March 16, 2023 Share Posted March 16, 2023 @ArmeBian Google play is an android feature. Armbian is linux not android. You are asking your question in the wrong place. You should either be asking in an android forum somewhere, or ask the manufacturer for their plans to support the hardware you purchased with updates. 0 Quote Link to comment Share on other sites More sharing options...
ArmeBian Posted March 16, 2023 Share Posted March 16, 2023 Ahh, got it, sorry 😁 0 Quote Link to comment Share on other sites More sharing options...
wyim Posted March 19, 2023 Share Posted March 19, 2023 (edited) HI Everyone 😁 I am pretty interesting in the TV box powered by RK3566 at this moment. I would like to know whether if the Rockchip uints has the multiboot function, similar to what the Amlogic units have. Also would like to know about the current supports on media (such as 4K 60p playback) and 3D hardware acceleration in Armbian for the Rockchip TV boxes. Can the Chromium in the Armbian supports hardware decoding or even AV1 for now or in near future? Thanks for answering my question in advance😁 Edited March 19, 2023 by wyim 0 Quote Link to comment Share on other sites More sharing options...
maka Posted March 19, 2023 Share Posted March 19, 2023 (edited) Quick answer is NO to all your questions. This chip is pretty good in linux but a low performance one. Your goal is for an rk3588. Edited March 19, 2023 by maka 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted March 30, 2023 Author Share Posted March 30, 2023 @wyim go for an RK3588 in a Supported Board like orange pi if you find a tv box that already has the application running linux, android is easier to apply, if the box does not run linux stay away, it doesn't matter if it is rk3588 0 Quote Link to comment Share on other sites More sharing options...
paradigman Posted March 31, 2023 Share Posted March 31, 2023 how to install armbian images on this device if there is no CD card slot? I can't find a description for it. 0 Quote Link to comment Share on other sites More sharing options...
paradigman Posted April 22, 2023 Share Posted April 22, 2023 (edited) can someone describe in a few steps how I can cook myself a flashable ROM for H96 Max v56? I already realized that due to the lack of an SD slot, only the RK Dev tools can be used, but it can only handle images in android format (partitions). Thanks. Edited April 22, 2023 by paradigman 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted April 25, 2023 Author Share Posted April 25, 2023 On 11/10/2022 at 2:40 PM, hotnikq said: BUILD CUSTOM SDK - shaggy013 - 02-14-2022 @paradigman let's build it! 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted April 25, 2023 Author Share Posted April 25, 2023 On 11/11/2022 at 11:00 AM, hotnikq said: This FIT image needs to be flashed on the internal storage, this board don't have SD CARD Reader. @paradigman let's build it! 0 Quote Link to comment Share on other sites More sharing options...
paradigman Posted April 26, 2023 Share Posted April 26, 2023 @hotnikq: thanks for the encouraging words, but this is too little information for a beginner. I would like to get involved in this project, I would test images and functions, but first I need the basic information. The "shaggy013" link is not accessible, even with registration. However, I found out that building a FIT image requires a .its file and a kernel file. 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted April 29, 2023 Author Share Posted April 29, 2023 (edited) dear @paradigman welcome to Armbian comunity, here people from all around the world share knowleadge about armbian and only ARM BIAN. So everythin that we do without the armbian standart wont get any help from comunity. https://docs.gitlab.com/ee/ci/quick_start/ you can compile a Linux FIT Image using GitLab CI/CD pipeline this is an unofficial way and it doesn't have anything about armbian. THIS IS AN EXAMPLE HOW YOU CAN BUILD IT: https://gitlab.com/hotnikq/quartz64_ci/-/blob/main/.gitlab-ci.yml THIS IS THE ORIGINAL VERSION: https://gitlab.com/pgwipeout/quartz64_ci/-/blob/main/.gitlab-ci.yml Quote image: ubuntu:20.04 stages: - build - image - deploy before_script: - apt update kernel-job: stage: build script: - mkdir artifacts - mkdir modules - export INSTALL_MOD_PATH=$PWD/modules - apt install -y build-essential gcc bc bison flex libssl-dev libncurses5-dev libelf-dev wget time xz-utils device-tree-compiler kmod - md5sum --check gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz.asc - tar xf gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz - export ARCH=arm64 - export CROSS_COMPILE=aarch64-none-linux-gnu- - export PATH="$PWD/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin":$PATH - export BRANCH="${UPSTREAM_BRANCH:-main}" - echo "Building branch - $BRANCH" - wget -q https://gitlab.com/hotnikq/linux-next/-/archive/$BRANCH/linux-next-$BRANCH.tar.gz - tar -xf linux-next-$BRANCH.tar.gz - cd linux-next-$BRANCH - cp ../quartz64_defconfig arch/arm64/configs/quartz64_defconfig - make quartz64_defconfig - make -j$(nproc) - cp arch/arm64/boot/Image ../artifacts/ - cp arch/arm64/boot/dts/rockchip/rk356*.dtb ../artifacts/ - make modules_install - cd ../modules - tar -czf kernel-modules.tar.gz lib - cp kernel-modules.tar.gz ../artifacts/ artifacts: when: always expire_in: 4 hours paths: - artifacts/ u-boot-job: image: python stage: build script: - mkdir artifacts - apt install -y build-essential gcc bc bison flex libssl-dev libncurses5-dev libelf-dev wget time xz-utils device-tree-compiler kmod - python3 -m pip install pyelftools - md5sum --check gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz.asc - tar xf gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz - export CROSS_COMPILE=aarch64-none-linux-gnu- - export PATH="$PWD/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin":$PATH - export BRANCH="${UPSTREAM_BRANCH_UBOOT:-quartz64}" - echo "Building branch - $BRANCH" - wget -q https://gitlab.com/hotnikq/u-boot-rockchip/-/archive/$BRANCH/u-boot-rockchip-$BRANCH.tar.gz - wget -q https://github.com/JeffyCN/rockchip_mirrors/archive/refs/heads/rkbin.zip - tar xf u-boot-rockchip-$BRANCH.tar.gz - unzip -q rkbin.zip - mv rockchip_mirrors-rkbin rkbin - cd u-boot-rockchip-$BRANCH - make rk3566-quartz64_defconfig - ./make.sh - ./tools/resource_tool --pack arch/arm/dts/rk3566-quartz64.dtb - cp idblock.bin ../artifacts/ - cp uboot.img ../artifacts/ - cp resource.img ../artifacts/ - cp rk356x_spl_loader_*bin ../artifacts/ artifacts: when: always expire_in: 4 hours paths: - artifacts/ u-boot-mainline-job: image: python stage: build script: - mkdir -p artifacts/mainline-u-boot - apt install -y build-essential gcc bc bison flex libssl-dev libncurses5-dev libelf-dev wget time xz-utils device-tree-compiler kmod - python3 -m pip install pyelftools - md5sum --check gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz.asc - tar xf gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz - export CROSS_COMPILE=aarch64-none-linux-gnu- - export PATH="$PWD/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin":$PATH - export BRANCH="${UPSTREAM_BRANCH_UBOOT:-quartz64}" - echo "Building branch - $BRANCH" - wget -q https://gitlab.com/pgwipeout/u-boot-quartz64/-/archive/$BRANCH/u-boot-quartz64-$BRANCH.tar.gz - wget -q https://github.com/JeffyCN/rockchip_mirrors/blob/6186debcac95553f6b311cee10669e12c9c9963d/bin/rk35/rk3568_bl31_v1.28.elf?raw=true -O rk3568_bl31_v1.28.elf - wget -q https://github.com/JeffyCN/rockchip_mirrors/blob/47404a141a1acb7555906b5e3b097b5f1045cc21/bin/rk35/rk3568_ddr_324MHz_v1.11.bin?raw=true -O rk3568_ddr_324MHz_v1.11.bin - tar xf u-boot-quartz64-$BRANCH.tar.gz - mv rk3568_bl31_v1.28.elf u-boot-quartz64-$BRANCH/bl31.elf - mv rk3568_ddr_324MHz_v1.11.bin u-boot-quartz64-$BRANCH/ram_init.bin - cd u-boot-quartz64-$BRANCH - echo "Building Quartz64-A" - make quartz64-a-rk3566_defconfig - make - cp idbloader.img ../artifacts/mainline-u-boot/quartz64-a-idbloader.img - cp u-boot.itb ../artifacts/mainline-u-boot/quartz64-a-u-boot.itb - echo "Building Pinenote" - make pinenote-rk3566_defconfig - make - cp idbloader.img ../artifacts/mainline-u-boot/pinenote-idbloader.img - cp u-boot.itb ../artifacts/mainline-u-boot/pinenote-u-boot.itb - echo "Building evb-rk3568" - make evb-rk3568_defconfig - make - cp idbloader.img ../artifacts/mainline-u-boot/evb-rk3568-idbloader.img - cp u-boot.itb ../artifacts/mainline-u-boot/evb-rk3568-u-boot.itb artifacts: when: always expire_in: 4 hours paths: - artifacts/ buildroot-job: stage: build script: - mkdir artifacts - export WORK_DIR=$PWD - apt install -y build-essential wget file cpio git unzip bc rsync python3 - md5sum --check gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz.asc - tar xf gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu.tar.xz - wget -q https://buildroot.org/downloads/buildroot-2021.02.1.tar.gz - tar xf buildroot-2021.02.1.tar.gz - cp buildroot_config buildroot-2021.02.1/.config - cd buildroot-2021.02.1 - | make > >(tee build.log |grep '>>>') 2>&1 || { echo 'Failed build last output' tail -200 build.log exit 1 } - cp output/images/rootfs.cpio.zst ../artifacts/ artifacts: when: always expire_in: 4 hours paths: - artifacts/ build-image-job: stage: image script: - mkdir tmp - mkdir -p artifacts/images - ls -al ./ - find artifacts/ - DEBIAN_FRONTEND="noninteractive" TZ="America/New_York" apt-get -y install tzdata - apt install -y build-essential dosfstools e2fsprogs util-linux coreutils parted libfdisk-dev libfuse-dev fusefat wget unzip pkg-config - wget -q https://github.com/phf/partfs/archive/refs/heads/develop.zip - unzip -q develop.zip - cd partfs-develop - make - cd .. - wget -q https://deb.debian.org/debian/dists/buster/main/installer-arm64/current/images/netboot/SD-card-images/partition.img.gz - gzip -d partition.img.gz - fusefat -o rw+ partition.img tmp - for IMAGE_NAME in $(ls artifacts/ | grep 'rk356.*dtb') ; do echo "Bulding image for $IMAGE_NAME" ; mkdir part efi ; fallocate -l 1G image.img ; parted -s image.img mklabel gpt ; parted -s image.img unit s mkpart loader 64 8MiB ; parted -s image.img unit s mkpart uboot 8MiB 16MiB ; parted -s image.img unit s mkpart env 16MiB 32MiB ; parted -s image.img unit s mkpart resource 32MiB 64MiB ; parted -s image.img unit s mkpart efi fat32 64MiB 256MiB ; parted -s image.img unit s mkpart boot ext4 256MiB 768MiB ; parted -s image.img unit s mkpart root ext4 768MiB 100% ; parted -s image.img set 5 esp on ; parted -s image.img set 6 legacy_boot on ; ./partfs-develop/partfs -o dev=image.img part ; mkfs.vfat -n "efi" part/p5 ; mkfs.ext4 -L "boot" part/p6 ; mkfs.ext4 -L "rootfs" part/p7 ; tune2fs -o journal_data_writeback part/p7 ; dd if=artifacts/idblock.bin of=part/p1 ; dd if=artifacts/uboot.img of=part/p2 ; fusefat -o rw+ part/p5 efi ; cp tmp/INITRD.GZ efi/ ; mkdir efi/extlinux ; cp extlinux/extlinux.conf efi/extlinux/extlinux.conf ; sed -i s/REPLACE_ME.DTB/$IMAGE_NAME/ efi/extlinux/extlinux.conf ; mkdir -p efi/dtbs/rockchip ; cp artifacts/Image efi/vmlinuz; cp artifacts/$IMAGE_NAME efi/dtbs/rockchip/ ; cp artifacts/kernel-modules.tar.gz efi/ ; cp artifacts/rootfs.cpio.zst efi/ ; cp efi/extlinux/extlinux.conf artifacts/$IMAGE_NAME-extlinux.conf ; fusermount -u efi ; fusermount -u part ; xz image.img ; cp image.img.xz artifacts/images/$IMAGE_NAME.img.xz ; rm -rf efi part image.img.xz ; done - echo "Building Quartz64-A Mainline Image" - xzcat artifacts/images/rk3566-quartz64-a.dtb.img.xz > artifacts/images/rk3566-quartz64-a-mainline-u-boot.img - dd if=artifacts/mainline-u-boot/quartz64-a-idbloader.img of=artifacts/images/rk3566-quartz64-a-mainline-u-boot.img conv=notrunc seek=64 - dd if=artifacts/mainline-u-boot/quartz64-a-u-boot.itb of=artifacts/images/rk3566-quartz64-a-mainline-u-boot.img conv=notrunc seek=16384 - xz artifacts/images/rk3566-quartz64-a-mainline-u-boot.img # - echo "Building Pinenote Mainline Image" # - xzcat artifacts/images/rk3566-pinenote.dtb.img.xz > artifacts/images/rk3566-pinenote-mainline-u-boot.img # - dd if=artifacts/mainline-u-boot/pinenote-idbloader.img of=artifacts/images/rk3566-pinenote-mainline-u-boot.img conv=notrunc seek=64 # - dd if=artifacts/mainline-u-boot/pinenote-u-boot.itb of=artifacts/images/rk3566-pinenote-mainline-u-boot.img conv=notrunc seek=16384 # - xz artifacts/images/rk3566-pinenote-mainline-u-boot.img artifacts: when: always expire_in: 4 hour paths: - artifacts/ merge-job: stage: deploy script: - df -h - ls -al ./ - ls -al artifacts/ artifacts: when: always expire_in: 30 days paths: - artifacts/ Edited April 29, 2023 by hotnikq 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted April 29, 2023 Author Share Posted April 29, 2023 (edited) On 4/26/2023 at 1:11 AM, paradigman said: The "shaggy013" link is not accessible THIS IS THE SHAGGY013 Original Post: and this is the method that i used to compile my image. Quote *** ADDED *** Added buildconfigs for other pine boards with a rk356x PineNote ,Quartz64-b and Soquartz !!! DTS files not included only added a pinenote dts the soquartz and quartz64-b are just quartz64-a dts !! so if you got a dts for dowmstream kernel bards you can add them so instead of quartz64-rk3566-buildroot-k4.mk you do quartz64b-rk3566-buildroot-k4.mk For building a Quartz64-B image or pinenote-rk3566-buildroot-k4.mk For Building a Pinenote image or soquartz-rk3566-buildroot-k4.mk For building a Soquartz image and same for quartz64-rk3566-raw-k4.mk quartz64b-rk3566-raw-k4.mk For building a Quartz64-B SD-image or pinenote-rk3566-raw-k4.mk For Building a Pinenote SD-image or soquartz-rk3566-raw-k4.mk For building a Soquartz SD-image *Needed* Time Ubuntu 18.04 or 20.04 at least 200+GB of free space (yeah it likes to grow maybey more) *Building* #Packages Needed on pc sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \ expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \ qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib \ unzip device-tree-compiler python-pip ncurses-dev python-pyelftools *Download BSP* #make bsp/sdk folder mkdir Quartz64 #go to Quartz64 folder cd Quartz64 # make .repo folder mkdir .repo #go to .repo folder cd .repo #download repo git clone https://github.com/rockchip-linux/repo or git clone https://gerrit.googlesource.com/git-repo repo #make repo executable chmod a+rx repo/repo #go back cd .. # Download repo manifest .repo/repo/repo init -u https://github.com/Shaggy013/manifests -b master -m rk356x_linux_custom_v1.2.8_20220309.xml # Dowload bsp/sdk .repo/repo/repo sync --no-clone-bundle ***** trouble **** if it gives trouble about github account https://elinux.org/Buildroot_how_to_contribute configure section **** only by trouble **** Now you see that your Quartz64 folder is full with new folders and files your Download is finished *Building* There are 4 distros you can build Buildroot,Debian,Ubuntu and Yocto You can choose to make the distro against the 4.19 or 5.10 kernel First you choose wich kernel #for 4.19 ./build.sh quartz64-rk3566-buildroot-k4.mk #or 5.10 ./build.sh quartz64-rk3566-buildroot-k5.mk For the first time you have to do it twice the first time can give a error you see something like this ***** example **** processing option: quartz64-rk3566-buildroot-k4.mk link kernel to proper kernel-directory renew kernel to proper kernel-directory link kernel 4 link Debian to proper Debian-distro renew Debian to proper Debian-Distro link debian to bullseye or buster link kernel 4 switching to board: /home/thc013/corner/Quartz64-release/device/rockchip/rk356x/quartz64-rk3566-buildroot-k4.mk ****** example **** so now you bsp is set to the right options You have multiple options but you have to make a uboot,kernel and recovery and a rootfs so the best start is just as a base for the later buiding of distros # build all (uboot,kernel,recovery,rootfs"buildroot",rockchip image) / AKA BUILDROOT ./build.sh **Info** For the 4.19 kernel you get after a few minutes a blue screen where you have to give the right voltage for the io-domains watch carefull some domains are not asked the domain info comes from the schematic or the dts file pmuio1-supply = <&vcc3v3_pmu>; not asked pmuio2-supply = <&vcc_3v3>; vccio1-supply = <&vccio_acodec>; 3,3 vccio2-supply = <&vcc_1v8>; not asked vccio3-supply = <&vccio_sd>; 3,3 vccio4-supply = <&vcca1v8_pmu>; vccio5-supply = <&vcc_3v3>; vccio6-supply = <&vcc1v8_dvp>; vccio7-supply = <&vcc_3v3>; After that the buildroot will start the rest of the building **** Depening on the speed of your pc it takes from a hour to ? so after some coffee and some heat for the cold weather you get Now it build a rockhip image DO NOT FLASH TO SD !!!!!!!! Make buildroot image ok! ..../Quartz64/rockdev/pack/QUARTZ64-RK3566-BUILDROOT-K4-GPT-!DATE!-2137.img Now it builds a rockhip image DO NOT FLASH TO SD !!!!!!!! #change to the SD/EMMC IMAGE option .#for 4.19 ./build.sh quartz64-rk3566-raw-k4.mk #or 5.10 ./build.sh quartz64-rk3566-raw-k5.mk #Build image ./build.sh rawimg ***Info *** Make raw image ok! ..../Quartz64/rockdev/pack/QUARTZ64-RK3566-RAW-K4-GPT-!DATE!-2137.img Now you can flash that image RAW to a sd or EMMC with your desired tool Etcher,dd etc ***** Now you can build a Debian or a Yocto image **** DEBIAN ****** #for 4.19 ./build.sh quartz64-rk3566-buildroot-k4.mk #or 5.10 ./build.sh quartz64-rk3566-buildroot-k5.mk !! before building you have to install extra packages they differ from ubuntu and debian so you have to install or overwrite them first sudo apt-get install binfmt-support qemu-user-static sudo dpkg -i ubuntu-build-service/packages/* sudo apt-get install -f # build Debian rootfs ./build.sh debian Now it build a rockhip image DO NOT FLASH TO SD !!!!!!!! #change to the SD/EMMC IMAGE option .#for 4.19 ./build.sh quartz64-rk3566-raw-k4.mk #or 5.10 ./build.sh quartz64-rk3566-raw-k5.mk #Build image ./build.sh rawimg ***Info *** Make raw image ok! ..../Quartz64/rockdev/pack/QUARTZ64-RK3566-RAW-K4-GPT-!DATE!-2137.img Now you can flash that image RAW to a sd or EMMC with your desired tool Etcher,dd etc Same as rest /Quartz64/rockdev/pack/ **** Ubuntu ****** #for 4.19 ./build.sh quartz64-rk3566-buildroot-k4.mk #or 5.10 ./build.sh quartz64-rk3566-buildroot-k5.mk !! before building you have to install extra packages they differ from ubuntu and debian so you have to install or overwrite them first sudo apt-get install binfmt-support qemu-user-static sudo dpkg -i ubuntu-build-service/packages/* sudo apt-get install -f # build Ubuntu rootfs ./build.sh ubuntu *** This build option ask after a few minutes the keyboard and region settings **** Now it build a rockhip image DO NOT FLASH TO SD !!!!!!!! #change to the SD/EMMC IMAGE option .#for 4.19 ./build.sh quartz64-rk3566-raw-k4.mk #or 5.10 ./build.sh quartz64-rk3566-raw-k5.mk #Build image ./build.sh rawimg ***Info *** Make raw image ok! ..../Quartz64/rockdev/pack/QUARTZ64-RK3566-RAW-K4-GPT-!DATE!-2137.img Now you can flash that image RAW to a sd or EMMC with your desired tool Etcher,dd etc Same as rest /Quartz64/rockdev/pack/ ***** YOCTO ***** !!! Yocto can take a time to build the toolchain has also clang etc included !!! #for 4.19 ./build.sh quartz64-rk3566-buildroot-k4.mk #or 5.10 ./build.sh quartz64-rk3566-buildroot-k5.mk # build Debian rootfs ./build.sh yocto Now it build a rockhip image DO NOT FLASH TO SD !!!!!!!! #change to the SD/EMMC IMAGE option .#for 4.19 ./build.sh quartz64-rk3566-raw-k4.mk #or 5.10 ./build.sh quartz64-rk3566-raw-k5.mk #Build image ./build.sh rawimg ***Info *** Make raw image ok! ..../Quartz64/rockdev/pack/QUARTZ64-RK3566-RAW-K4-GPT-!DATE!-2137.img Now you can flash that image RAW to a sd or EMMC with your desired tool Etcher,dd etc Same as rest /Quartz64/rockdev/pack/ ***** BUILD OPTIONS **** Available options: *.mk -switch to specified board config launch -list current SDK boards and switch to specified board config uboot -build uboot spl -build spl loader -build loader kernel -build kernel" modules -build kernel modules modules2 -build kernel modules to rockdev/pack/modules *added* toolchain -build toolchain extboot -build extlinux boot.img, boot from EFI partition rootfs -build default rootfs, currently build buildroot as default buildroot -build buildroot rootfs ramboot -build ramboot image multi-npu_boot -build boot image for multi-npu board yocto -build yocto rootfs debian -build debian 9 or 10 rootfs !! set in config !! !! only bullseye included ubuntu -build Ubuntu 20.04 rootfs !! set in config !! !! only focal included pcba -build pcba not tested recovery -build recovery all -build uboot, kernel, rootfs, recovery image cleanall -clean uboot, kernel, rootfs, recovery firmware -pack all the image we need to boot up system updateimg -pack update image not tested rawimg -pack raw image otapackage -pack ab update otapackage image (update_ota.img) not tested sdpackage -pack update sdcard package image (update_sdcard.img) not tested save -save images, patches, commands used to debug allsave -build all & firmware & updateimg & save check -check the environment of building info -see the current board building information app/<pkg> -build packages in the dir of app/* external/<pkg> -build packages in the dir of external/* **** Examples **** For if you made changes to uboot or the kernel buildroot is another story #u-boot ./build.sh uboot #kernel ./build.sh kernel #recovery ./build.sh recovery ***** Making modules from the kernel **** it can be that you want to copy or have some kernel modules to copy to your image ./build.sh modules2 makes in the folder rockdev/pack/modules the kernel-modules ********************************************************************************************************************** ****** TESTS ****** the distros all contain a folder rockchip test with some simple demos and test even a benchmark cd ~/rockchip_test # some test options ./rockhip_test.sh The npu video and gpu are most fun ******** ddr test : 1 (memtester & stressapptest) cpufreq test: 2 (cpufreq stresstest) ????flash stress test: 3 # not working # bluetooth test: 4 (bluetooth on&off test) # not working # audio test: 5 recovery test: 6 (default wipe all) suspend_resume test: 7 (suspend & resume) wifi test: 8 ethernet test: 9 auto reboot test: 10 ddr freq scaling test 11 #not working # npu test 12 npu2 test 13 (rk356x or rk3588) ??? camera test 14 (use rkisp_demo) video test 15 (use gstreamer-wayland and app_demo) gpu test 16 (use glmark2) # not working# chromium test 17 (chromium with video hardware acceleration)" nand power lost test: 18 ***** ************ Last Info ****** That is almost step for step i hope it just started with a dts and boardconfig but got a little bigger if i made any faults or i missed something please let me know no debug program just plain doing diff,reading(there is a lot),copy paste and some simple adjustments to make it work for me well it was something diffrent as making a custom limo os for the limo M1 360 from vodafone in 2009 (got first to root cdc_nand) gone glory the sources and info you can all find them on google and github and gitlab so no OFFICIAL ROCKCHIP or QUARTZ64 JUST !!CUSTOM!! I will include download links with the images it compiles and to make it work for another 3566 or 68 just make a boardconfig.mk in ?/Quartz64/device/rockchip/rk356x/ and make sure the defconfigs and dts are inthe right places well at least it gets you on the way SPECIAL THNX TO quartz64 chat , my free time ,a quartz64 too stay still alive ,ryzen 3700x+5700xt to keep me warm,20TB nas for the space,R.I.P sd (2),touchscreen,monitor and OPI4 (well the opi semi dead dont fuss with the fusb32 in uboot ) On 11/21/2022 at 11:04 PM, hotnikq said: SDK Used into this Build: SDK 4.19.219 LINUX to RK3566 H96 MAX Please, Use a debug Tool TTL UART Baud rate: 1500000 Data bit: 8 Stop bit: 1 Parity check: none Flow control: none ☑️ CP2104 TTL Tested! ☑️ CP2102 TTL Tested! ☑️ CP210X TTL Tested! On 11/21/2022 at 11:04 PM, hotnikq said: Base Parameters to build: H96-MAX-Uboot-legacy.img Partition-Parameter.txt H96-MAX-8gb-MiniLoaderAll.bin H96-MAX-4gb-MiniLoaderAll.bin DTB + DTS + rockchip_defconfig SDK Used into this Build: SDK 4.19.219 LINUX to RK3566 H96 MAX Edited April 29, 2023 by hotnikq 1 Quote Link to comment Share on other sites More sharing options...
paradigman Posted April 29, 2023 Share Posted April 29, 2023 @hotnikq: many thanks for sharing this content, many people will benefit from it! Just so that even a beginner can have a sense of success, why not share the last image you compiled? I saw you had pretty good results with the last one. Just to make people want to go through the 219 steps described by shaggy013. 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 7, 2023 Author Share Posted May 7, 2023 (edited) On 11/21/2022 at 11:04 PM, hotnikq said: Release Version v0.3 BETA ❎ No Video out (device tree bad arg) ❎ No Virtualization (kernel config) ❎ No Docker (kernel capability) H96 MAX RK3566 Board V56 Kernel 4.19.219 Linux FIT Image Rockchip EMMC Ubuntu 20.04 LTS This image has been compiled without any standardization and should be used for experimental purposes only, there is no guarantee of compatibility with your device Download Link: Removed due to kernel 4 deprecated 👈 Download Link: Removed due to kernel 4 deprecated 👈 @paradigman this is the last image i have ben done... this device is used for storage propose, online since 11/21/2022 as a nextcloud and jellyfin provider. i can access it by proxy tunnel from cloudflare with https SSL... Edited June 15, 2023 by hotnikq 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 7, 2023 Author Share Posted May 7, 2023 (edited) @paradigman try to make an adaptation of the device tree shown here for the armbian kernel 6, I believe you are capable Edited May 7, 2023 by hotnikq 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 7, 2023 Author Share Posted May 7, 2023 On 11/11/2022 at 1:06 PM, hotnikq said: I already spent 30 days and more than 3240,00$ dollars man machine running this debug system, I will visit this topic only sometimes, I want another user to continue this project. a Bad thing is that The kernel supplied by Rockchip 4.19 for the RK3566 is too crippled to run Docker. here a screenshot of the USB HUB 3.0 on port 3.0 Ugreen 4 in 1 USB 3.0 Hub 2x SATA TO USB 3.0 CONVERTER /dev/sda: Timing cached reads: 1816 MB in 2.00 seconds = 907.91 MB/sec Timing buffered disk reads: 576 MB in 3.00 seconds = 191.75 MB/sec ubuntu@localhost:~$ sudo hdparm -tT /dev/sdb /dev/sdb: Timing cached reads: 1840 MB in 2.00 seconds = 920.41 MB/sec Timing buffered disk reads: 532 MB in 3.01 seconds = 176.97 MB/sec @paradigman I believe that your engagement in this Chinese device will bring us a new compilation with kernel 6 and docker support 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 7, 2023 Author Share Posted May 7, 2023 On 1/31/2023 at 8:48 PM, thc013 said: @maka if you think every box is the same your complete wrong !!! only the t95 ,tr43 and x96 have box-demo as base dts so and it is not fully supported there is still no npu in mainline and video decoding is nah it works thats it @mmie4jbcu the x88 is based on the rk3566-evb5-lp4x-v10 so a board with a io-domain from a rk809 will do such as indeed a m2 from firefly but for making a proper dts compare it downstream with a rk3566-evb5-lp4x-v10. and the factory dtb has 2 dts files use the second @hotnikq some people as @tmm1 give you a very good hint wich is the base dts and a decompiled dts is not a proper dts it is a start , and what you now got is nothing and if you looked around you see there is also a android 12 image for your box with a little updated dts and is easy to compare to the armbian legacy build just decompile the dtb of rk3566-evb3-ddr3-v10 and compare it against the decompiled of the android 12 image . ow and the h96 factory dtb has 2 dts files one with a tcs4525 config and the other has a sti8070 so check your pcb wich it has . wonder what the dmesg says about the included dtb ow btw it is thc013 aka shaggy013 🤗 @paradigman that's the path indicated by the proper shaggy013 for you to follow 0 Quote Link to comment Share on other sites More sharing options...
Kenneth Hidalgo Posted May 9, 2023 Share Posted May 9, 2023 Hello everyone, someone has been able to solve the problem, they have managed to compile a functional image for this TV box 0 Quote Link to comment Share on other sites More sharing options...
mvpwar Posted May 17, 2023 Share Posted May 17, 2023 @Kenneth Hidalgo Can you provide some relevant links, I need the image which support the hdmi tvout and GPU acceleration 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 18, 2023 Author Share Posted May 18, 2023 (edited) On 11/11/2022 at 1:06 PM, hotnikq said: @mvpwar @Kenneth Hidalgo I will retire my tv box in August 2023, my H96 V56 HDD USB3 kernel 4.19 system will be replaced, I will be using my Jellyfin and nextcloud on an SBC NVME Pci-e, with kernel 6, docker and everything else, inside my RADXA Rock 3A, I have Rock 3A at hand as an Manjaro multimedia "yes it works" for a year but has been fully replaced by samsung tizen. so, in august 2023, I'll solder the debug TTL again on H96 V56. hope to have time to resume development within armbian standards can you provide me the Device Tree of your android 12 devices? @paradigman with a dts and is easy to compare to the armbian legacy build just decompile the dtb of rk3566-evb3-ddr3-v10 and compare it against the decompiled of the android 12 image @thc013 did you know how to extract DTS from android 12? I believe I haven't made this comparison yet because I couldn't access it from android 12 https://drive.google.com/file/d/1Dtz8gbyx7sCCFPp1YKkXQav6ZA9POWTx/view?usp=sharing can someone post here so i can start work sooner..... https://github.com/armbian/linux-rockchip/blob/rockchip-5.10/arch/arm64/boot/dts/rockchip/rk3566-evb3-ddr3-v10.dtsi https://github.com/armbian/linux-rockchip/blob/rockchip-5.10/arch/arm64/boot/dts/rockchip/rk3566-evb3-ddr3-v10-linux.dts https://github.com/armbian/linux-rockchip/blob/rockchip-5.10/arch/arm64/boot/dts/rockchip/rk3566-rk817-eink-w103.dts https://github.com/armbian/linux-rockchip/blob/rockchip-5.10/arch/arm64/boot/dts/rockchip/rk3566-rk817-eink-w6.dts https://github.com/armbian/linux-rockchip/blob/rockchip-5.10/arch/arm64/boot/dts/rockchip/rk3566-rk817-eink.dts maybe a 5.1 kernel for this board is already too good @Piotr @Andyshrk https://lkml.org/lkml/2022/11/4/454 https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3566-box-demo.dts or kernel 6..... Edited May 19, 2023 by hotnikq 1 Quote Link to comment Share on other sites More sharing options...
KanexMarcus Posted May 27, 2023 Share Posted May 27, 2023 Hi guys, if you want to install linux on the RK3566 see this forum t95plus.com works fine with the x88 pro 20, I also tested the roms for the HK1_RBox_R3, H96Max, HK1_Rbox_R2, T95Plus and those works on the x88 pro 20 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 29, 2023 Author Share Posted May 29, 2023 (edited) Here we are... Downloaded the Android 12 ROM and applyed the Magisc Patched boot.img With RKDevTool_Release_v2.86 android 12 use a different Header @thc013 no DTB files on /dev/dtb just an dtbo.img That dtbo has three DTBs in it, preceeded by that new 128 byte header. It appears to all be overlays. I don't know much about that. that says: androidboot.boot_devices=fe310000.sdhci,fe330000.nandc https://source.android.com/docs/core/architecture/bootloader/boot-image-header?hl=pt-br#header-v4 Let's try dtbview.exe "from Renate Teamblast" C:\>dtbview dtbo.img > big.txt Result: Quote 000000 Android header 000040 Header 000078 / { 000080 fragment@0 { 000090 target = < 0xffffffff >; 0000a0 __overlay__ { 0000b0 bootargs_ext = "androidboot.boot_devices=fe310000.sdhci,fe330000.nandc"; 0000f4 } 0000f8 } 0000fc fragment@1 { 00010c target = < 0xffffffff >; 00011c __overlay__ { 00012c mode-bootloader = < 0x5242c309 >; 00013c mode-charge = < 0x5242c30b >; 00014c mode-fastboot = < 0x5242c303 >; 00015c mode-loader = < 0x5242c301 >; 00016c mode-normal = < 0x5242c300 >; 00017c mode-recovery = < 0x5242c303 >; 00018c } 000190 } 000194 __fixups__ { 0001a4 chosen = "/fragment@0:target:0"; 0001c8 reboot_mode = "/fragment@1:target:0"; 0001ec } 0001f0 } 0001f4 End 0001f8 Strings so, i try the imgutil: Result: Brute DTB dtb Quote imgutil /x boot.img dtb Header2: 1,660 (0000067c) Kernel: 32,425,992 (01eec808) 00000800 Ramdisk: 1,344,493 (001483ed) 01eed800 Second: 6,543,360 (0063d800) 02036000 DTB: 268,304 (00041810) 02673800 Command: console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 androidboot.console=ttyFIQ0 androidboot.wificountrycode=XS androidboot.hardware=rk30board androidboot.boot_devices=fe310000.sdhci,fe330000.nandc androidboot.selinux=permissive buildvariant=userdebug Read ramdisk, 13 files Extracted Kernel: Android 12 Kernel Quote imgutil /x boot.img /V kernel Header2: 1,660 (0000067c) Kernel: 32,425,992 (01eec808) 00000800 Ramdisk: 1,344,493 (001483ed) 01eed800 Second: 6,543,360 (0063d800) 02036000 DTB: 268,304 (00041810) 02673800 Command: console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 androidboot.console=ttyFIQ0 androidboot.wificountrycode=XS androidboot.hardware=rk30board androidboot.boot_devices=fe310000.sdhci,fe330000.nandc androidboot.selinux=permissive buildvariant=userdebug Extracted kernel Extracted Ramdisk: Android 12 Ramdisk Quote Image>imgutil /x boot.img /V ramdisk Header2: 1,660 (0000067c) Kernel: 32,425,992 (01eec808) 00000800 Ramdisk: 1,344,493 (001483ed) 01eed800 Second: 6,543,360 (0063d800) 02036000 DTB: 268,304 (00041810) 02673800 Command: console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro loop.max_part=7 androidboot.console=ttyFIQ0 androidboot.wificountrycode=XS androidboot.hardware=rk30board androidboot.boot_devices=fe310000.sdhci,fe330000.nandc androidboot.selinux=permissive buildvariant=userdebug Extracted ramdisk i'm here: Quote Edited May 29, 2023 by hotnikq 1 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 30, 2023 Author Share Posted May 30, 2023 (edited) today, after work, I'm messing with the dtb. On Linux,android12.dtsandroid12.dtb dtc -I dtb -O dts -o android12.dts android12.dtb Quote arquivo.dts: Warning (unit_address_vs_reg): /reserved-memory/cma: node has a reg or ranges property, but no unit name arquivo.dts: Warning (unit_address_vs_reg): /hdmi@fe0a0000/ports/port: node has a reg or ranges property, but no unit name arquivo.dts: Warning (unit_address_format): /reserved-memory/drm-logo@00000000: unit name should not have leading 0s arquivo.dts: Warning (unit_address_format): /reserved-memory/drm-cubic-lut@00000000: unit name should not have leading 0s arquivo.dts: Warning (unique_unit_address): /reserved-memory/drm-logo@00000000: duplicate unit-address (also used in node /reserved-memory/drm-cubic-lut@00000000) arquivo.dts: Warning (unique_unit_address): /otp@fe38c000/npu-tsadc-trim-h@31: duplicate unit-address (also used in node /otp@fe38c000/tsadc-trim-base-frac@31) arquivo.dts: Warning (interrupt_provider): /pinctrl/gpio@fdd60000: Missing #address-cells in interrupt provider arquivo.dts: Warning (interrupt_provider): /pinctrl/gpio@fe740000: Missing #address-cells in interrupt provider arquivo.dts: Warning (interrupt_provider): /pinctrl/gpio@fe750000: Missing #address-cells in interrupt provider arquivo.dts: Warning (interrupt_provider): /pinctrl/gpio@fe760000: Missing #address-cells in interrupt provider arquivo.dts: Warning (interrupt_provider): /pinctrl/gpio@fe770000: Missing #address-cells in interrupt provider arquivo.dts: Warning (graph_child_address): /syscon@fdc60000/lvds/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_child_address): /syscon@fdc60000/rgb/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_child_address): /rkisp-vir0/port: graph node has single child node 'endpoint@0', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_child_address): /dsi@fe060000/panel@0/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_child_address): /dsi@fe070000/panel@0/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_child_address): /hdmi@fe0a0000/ports: graph node has single child node 'port', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_child_address): /edp@fe0c0000/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_child_address): /csi2-dphy0/ports/port@1: graph node has single child node 'endpoint@0', #address-cells/#size-cells are not necessary arquivo.dts: Warning (graph_port): /hdmi@fe0a0000/ports/port: graph node unit address error, expected "0" The Result: Quote vdd_cpu { compatible = "tcs,tcs452x"; reg = <28>; vin-supply = <62>; regulator-compatible = "fan53555-reg"; regulator-name = "vdd_cpu"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1390000>; regulator-ramp-delay = <2300>; fcs,suspend-voltage-selector = <1>; regulator-boot-on; regulator-always-on; regulator-state-mem { regulator-off-in-suspend; }; }; Quote rk809 { compatible = "rockchip,rk809"; reg = <0x20>; interrupt-parent = <53>; interrupts = < 3 8>; pinctrl-names = "default\0pmic-sleep\0pmic-power-off\0pmic-reset"; pinctrl-0 = <54>; pinctrl-1 = <55 56>; pinctrl-2 = <57 58>; pinctrl-3 = <57 59>; rockchip,system-power-controller; wakeup-source; #clock-cells = <1>; clock-output-names = "rk808-clkout1\0rk808-clkout2"; pmic-reset-func = <0>; not-save-power-en = <1>; vcc1-supply = <60>; vcc2-supply = <60>; vcc3-supply = <60>; vcc4-supply = <60>; vcc5-supply = <60>; vcc6-supply = <60>; vcc7-supply = <60>; vcc8-supply = <60>; vcc9-supply = <60>; pwrkey { status = "okay"; }; Quote pinctrl_rk8xx { gpio-controller; #gpio-cells = <2>; rk817_slppin_null { pins = "gpio_slp"; function = "pin_fun0"; }; rk817_slppin_slp { pins = "gpio_slp"; function = "pin_fun1"; }; rk817_slppin_pwrdn { pins = "gpio_slp"; function = "pin_fun2"; }; rk817_slppin_rst { pins = "gpio_slp"; function = "pin_fun3"; }; }; The power domains config Looks same. &pmu_io_domains { pmuio2-supply = <&vcc_3v3>; vccio1-supply = <&vcc_3v3>; vccio3-supply = <&vcc_3v3>; vccio4-supply = <&vcca_1v8>; vccio5-supply = <&vcc_3v3>; vccio6-supply = <&vcca_1v8>; vccio7-supply = <&vcc_3v3>; status = "okay"; }; on android 12 image we dont have DTB for sti8070 Just tcs4525 so, let's work around this. i think this device is full compatible with https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3566-box-demo.dts i will test it tomorrow. Edited May 31, 2023 by hotnikq 1 Quote Link to comment Share on other sites More sharing options...
maka Posted May 31, 2023 Share Posted May 31, 2023 if rk809 and fan regulator is enabled does not seem like box-demo 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted May 31, 2023 Author Share Posted May 31, 2023 (edited) Quote Soldered an SD Card Reader: On 11/21/2022 at 11:04 PM, hotnikq said: Please, Use a debug Tool TTL UART Baud rate: 1500000 Data bit: 8 Stop bit: 1 Parity check: none Flow control: none ☑️ CP2104 TTL Tested! ☑️ CP2102 TTL Tested! ☑️ CP210X TTL Tested! Trying some armbian on SD CARD Reader Armbian_23.08.0-trunk_Rock-3a_jammy_edge_6.3.5_xfce_desktop.img on SD card... Result: Quote ## Booting Rockchip Format Image Could not find kernel partition, ret=-1 switch to partitions #0, OK mmc1 is current device Scanning mmc 1:1... Found U-Boot script /boot.scr reading /boot.scr 3252 bytes read in 2 ms (1.6 MiB/s) ## Executing script at 00c00000 Unknown command '▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒SCRIPT FAILED: continuing... switch to partitions #0, OK Edited June 1, 2023 by hotnikq 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted June 1, 2023 Author Share Posted June 1, 2023 (edited) 20 hours ago, maka said: if rk809 and fan regulator is enabled does not seem like box-demo it's an RK809-5 RK3566 DDR3 ethernet-phy-ieee802.3-c22 HCY6355 (AP6335), Any idea of DTB to test? Edited June 1, 2023 by hotnikq 0 Quote Link to comment Share on other sites More sharing options...
maka Posted June 1, 2023 Share Posted June 1, 2023 (edited) I think is like firefly roc-3566-pc . @mmie4jbcu tells he can boot with x88 pro 20, wich is similar, with box-demo but his dts is just a precompiled from kernel and this makes me hesitate. You can test with his dtb. I would use a roc-3566-pc image because the rock3a maybe patched because this sbc is a bit tricky. Edited June 1, 2023 by maka 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted June 1, 2023 Author Share Posted June 1, 2023 (edited) 17 hours ago, maka said: I think is like firefly roc-3566-pc . Yes, Firefly is a great way to start. The original DTB File from Armbian_23.08.0-trunk_Station-m2_jammy_edge_6.2.16_xfce_desktop.img Return: Quote U-Boot SPL board init U-Boot SPL 2017.09-gaaca6ffec1-211203 #zzz (Dec 03 2021 - 18:42:16) unknown raw ID phN unrecognized JEDEC id bytes: 00, 00, 00 Trying to boot from MMC2 MMC error: The cmd index is 13, ret is -22 MMC error: The cmd index is 13, ret is -110 MMC error: The cmd index is 13, ret is -110 MMC error: The cmd index is 13, ret is -110 mmc_init: -110, time 82 spl: mmc init failed with error: -110 Trying to boot from MMC1 SPL: A/B-slot: _a, successful: 0, tries-remain: 7 Trying fit image at 0x4000 sector ## Verified-boot: 0 ## Checking atf-1 0x00040000 ... sha256(da56f18676...) + OK ## Checking uboot 0x00a00000 ... sha256(75a993721d...) + OK ## Checking fdt 0x00b3be10 ... sha256(fcfda359c0...) + OK ## Checking atf-2 0xfdcc1000 ... sha256(c707061ad4...) + OK ## Checking atf-3 0x0006a000 ... sha256(b242b7fb6b...) + OK ## Checking atf-4 0xfdcd0000 ... sha256(4f66d40099...) + OK ## Checking atf-5 0xfdcce000 ... sha256(8b3263a8f2...) + OK ## Checking atf-6 0x00068000 ... sha256(6e9d32ba23...) + OK ## Checking optee 0x08400000 ... sha256(af414b9c9f...) + OK Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000) Total: 306.387 ms INFO: Preloader serial: 2 NOTICE: BL31: v2.3():v2.3-451-gcddd6f52e:xsf NOTICE: BL31: Built : 07:13:58, Oct 24 2022 INFO: GICv3 without legacy support detected. INFO: ARM GICv3 driver initialized in EL3 INFO: pmu v1 is valid 220114 INFO: dfs DDR fsp_param[0].freq_mhz= 1056MHz INFO: dfs DDR fsp_param[1].freq_mhz= 324MHz INFO: dfs DDR fsp_param[2].freq_mhz= 528MHz INFO: dfs DDR fsp_param[3].freq_mhz= 780MHz INFO: Using opteed sec cpu_context! INFO: boot cpu mask: 0 INFO: BL31: Initializing runtime services INFO: BL31: Initializing BL32 I/TC: I/TC: OP-TEE version: 3.13.0-651-gd84087907 #hisping.lin (gcc version 10.2.1 202 01103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) # 5 Fri Sep 16 15:39:33 CST 2022 aarch64 I/TC: Primary CPU initializing I/TC: Primary CPU switching to normal world boot INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0xa00000 INFO: SPSR = 0x3c9 U-Boot 2017.09-dirty #pc (Dec 09 2022 - 10:56:39 +0800) Model: Rockchip RK3568 Evaluation Board PreSerial: 2, raw, 0xfe660000 DRAM: 4 GiB Sysmem: init Relocation Offset: ed23d000 Relocation fdt: eb9f8ae0 - eb9fecd0 CR: M/C/I Using default environment Hotkey: ctrl+` dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0 Bootdev(atags): mmc 0 MMC0: HS200, 200Mhz PartType: EFI DM: v1 boot mode: recovery (misc) No resource partition No resource partition No resource partition Failed to load DTB, ret=-19 No find valid DTB, ret=-22 Failed to get kernel dtb, ret=-22 io-domain: OK Failed to get scmi clk dev dmc_fsp failed, ret=-19 Model: Rockchip RK3568 Evaluation Board CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A) apll 816000 KHz dpll 528000 KHz gpll 1188000 KHz cpll 1000000 KHz npll 24000 KHz vpll 24000 KHz hpll 24000 KHz ppll 200000 KHz armclk 816000 KHz aclk_bus 150000 KHz pclk_bus 50000 KHz aclk_top_high 300000 KHz aclk_top_low 200000 KHz hclk_top 150000 KHz pclk_top 50000 KHz aclk_perimid 300000 KHz hclk_perimid 150000 KHz pclk_pmu 100000 KHz Net: No ethernet found. Hit key to stop autoboot('CTRL+C'): 0 ANDROID: reboot reason: "recovery" optee api revision: 2.0 Vboot=0, AVB images, AVB verify read_is_device_unlocked() ops returned that device is UNLOCKED avb_footer.c:41: ERROR: Footer magic is incorrect. avb_vbmeta_image.c:65: ERROR: Magic is incorrect. avb_slot_verify.c:773: ERROR: recovery: Error verifying vbmeta image: invalid vb meta header Verify recovery with vbmeta. avb_slot_verify.c:762: ERROR: vbmeta: Error verifying vbmeta image: OK_NOT_SIGNE D get image from preloaded partition... No valid android hdr avb_slot_verify.c:106: ERROR: recovery: Error loading data from partition. AVB verify failed Android boot failed, error -1. ## Booting FIT Image FIT: No fit blob FIT: No FIT image ## Booting Rockchip Format Image Could not find kernel partition, ret=-1 switch to partitions #0, OK mmc1 is current device Scanning mmc 1:1... Found /boot/extlinux/extlinux.conf Retrieving file: /boot/extlinux/extlinux.conf 320 bytes read in 19 ms (15.6 KiB/s) 1: Armbian Retrieving file: /boot/uInitrd 33352326 bytes read in 2804 ms (11.3 MiB/s) Retrieving file: /boot/Image 27853312 bytes read in 2339 ms (11.4 MiB/s) append: root=UUID=8bffa7ed-2f1c-40d8-9e74-a674058d0110 console=ttyS02,1500000 co nsole=tty0 rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net .ifnames=0 splash plymouth.ignore-serial-consoles Retrieving file: /boot/dtb/rockchip/rk3566-firefly-roc-pc.dtb 112257 bytes read in 72 ms (1.5 MiB/s) Fdt Ramdisk skip relocation ## Loading init Ramdisk from Legacy Image at 0a200000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 33352262 Bytes = 31.8 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 0x08300000 Booting using the fdt blob at 0x08300000 Using Device Tree in place at 0000000008300000, end 000000000831e680 can't found rockchip,drm-logo, use rockchip,fb-logo WARNING: could not set reg FDT_ERR_BADOFFSET. failed to reserve fb-loader-logo memory Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000) Adding bank: 0x09400000 - 0xf0000000 (size: 0xe6c00000) Adding bank: 0x1f0000000 - 0x200000000 (size: 0x10000000) == DO RELOCATE == Kernel from 0x00280000 to 0x00400000 Total: 6126.417 ms Starting kernel ... I/TC: Secondary CPU 1 initializing I/TC: Secondary CPU 1 switching to normal world boot I/TC: Secondary CPU 2 initializing I/TC: Secondary CPU 2 switching to normal world boot I/TC: Secondary CPU 3 initializing I/TC: Secondary CPU 3 switching to normal world boot [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050] [ 0.000000] Linux version 6.2.16-media (armbian@next) (aarch64-linux-gnu-gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP PREEMPT_DYNAMIC Wed May 17 08:59:13 -03 2023 [ 0.000000] Machine model: Firefly rk3566-roc-pc [ 0.000000] efi: UEFI not found. [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x0000000000200000-0x00000001ffffffff ] [ 0.000000] NUMA: NODE_DATA [mem 0x1ff764100-0x1ff769fff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000200000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal [mem 0x0000000100000000-0x00000001ffffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000200000-0x00000000083fffff] [ 0.000000] node 0: [mem 0x0000000009400000-0x00000000efffffff] [ 0.000000] node 0: [mem 0x00000001f0000000-0x00000001ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000200000-0x00000001ffffffff] [ 0.000000] On node 0, zone DMA: 512 pages in unavailable ranges [ 0.000000] On node 0, zone DMA: 4096 pages in unavailable ranges [ 0.000000] cma: Reserved 256 MiB at 0x00000000e0000000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: Trusted OS migration not required [ 0.000000] psci: SMC Calling Convention v1.2 [ 0.000000] percpu: Embedded 30 pages/cpu s83944 r8192 d30744 u122880 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: detected: Virtualization Host Extensions [ 0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM erratum 128 6807, 2441009 [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Fallback order for Node 0: 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1027656 [ 0.000000] Policy zone: Normal [ 0.000000] Kernel command line: root=UUID=8bffa7ed-2f1c-40d8-9e74-a674058d01 10 console=ttyS02,1500000 console=tty0 rw no_console_suspend consoleblank=0 fsck .fix=yes fsck.repair=yes net.ifnames=0 splash plymouth.ignore-serial-consoles [ 0.000000] Unknown kernel command line parameters "splash", will be passed t o user space. [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes , linear) [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x00000000dc000000-0x00000000e000000 0] (64MB) [ 0.000000] Memory: 3705468K/4175872K available (14784K kernel code, 3392K rw data, 5100K rodata, 3776K init, 1029K bss, 208260K reserved, 262144K cma-reserve d) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] trace event string verifier disabled [ 0.000000] Dynamic Preempt: none [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jif fies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 320 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] GICv3: MBI range [296:319] [ 0.000000] GICv3: Using MBI frame 0x00000000fd410000 [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GICv3: GICv3 features: 16 PPIs [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000fd460000 [ 0.000000] ITS: No ITS available, not enabling LPIs [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 43980 46511097ns [ 0.001633] Console: colour dummy device 80x25 [ 0.001652] printk: console [tty0] enabled [ 0.002542] Calibrating delay loop (skipped), value calculated using timer fr equency.. 48.00 BogoMIPS (lpj=96000) [ 0.002586] pid_max: default: 32768 minimum: 301 [ 0.002930] LSM: initializing lsm=capability,yama,safesetid,integrity,bpf [ 0.003029] Yama: becoming mindful. [ 0.003121] LSM support for eBPF active [ 0.003356] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, line ar) [ 0.003408] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.005453] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 0.006723] cblist_init_generic: Setting adjustable number of callback queues . [ 0.006762] cblist_init_generic: Setting shift to 2 and lim to 1. [ 0.006934] cblist_init_generic: Setting shift to 2 and lim to 1. [ 0.007287] rcu: Hierarchical SRCU implementation. [ 0.007312] rcu: Max phase no-delay instances is 1000. [ 0.014263] EFI services will not be available. [ 0.015029] smp: Bringing up secondary CPUs ... [ 0.016896] Detected VIPT I-cache on CPU1 [ 0.017021] cacheinfo: Unable to detect cache hierarchy for CPU 1 [ 0.017045] GICv3: CPU1: found redistributor 100 region 0:0x00000000fd480000 [ 0.017108] CPU1: Booted secondary processor 0x0000000100 [0x412fd050] [ 0.018939] Detected VIPT I-cache on CPU2 [ 0.019050] cacheinfo: Unable to detect cache hierarchy for CPU 2 [ 0.019072] GICv3: CPU2: found redistributor 200 region 0:0x00000000fd4a0000 [ 0.019121] CPU2: Booted secondary processor 0x0000000200 [0x412fd050] [ 0.020961] Detected VIPT I-cache on CPU3 [ 0.021072] cacheinfo: Unable to detect cache hierarchy for CPU 3 [ 0.021095] GICv3: CPU3: found redistributor 300 region 0:0x00000000fd4c0000 [ 0.021141] CPU3: Booted secondary processor 0x0000000300 [0x412fd050] [ 0.021283] smp: Brought up 1 node, 4 CPUs [ 0.021452] SMP: Total of 4 processors activated. [ 0.021472] CPU features: detected: 32-bit EL0 Support [ 0.021488] CPU features: detected: 32-bit EL1 Support [ 0.021505] CPU features: detected: Data cache clean to the PoU not required for I/D coherence [ 0.021527] CPU features: detected: Common not Private translations [ 0.021544] CPU features: detected: CRC32 instructions [ 0.021560] CPU features: detected: Data cache clean to Point of Persistence [ 0.021582] CPU features: detected: RCpc load-acquire (LDAPR) [ 0.021599] CPU features: detected: LSE atomic instructions [ 0.021615] CPU features: detected: Privileged Access Never [ 0.021631] CPU features: detected: RAS Extension Support [ 0.021652] CPU features: detected: Speculative Store Bypassing Safe (SSBS) [ 0.021790] CPU: All CPU(s) started at EL2 [ 0.021813] alternatives: applying system-wide alternatives [ 0.028711] devtmpfs: initialized [ 0.058923] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ma x_idle_ns: 7645041785100000 ns [ 0.058998] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.067211] pinctrl core: initialized pinctrl subsystem [ 0.068259] DMI not present or invalid. [ 0.069250] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.071015] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations [ 0.071799] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic all ocations [ 0.072265] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic a llocations [ 0.072377] audit: initializing netlink subsys (disabled) [ 0.072653] audit: type=2000 audit(0.068:1): state=initialized audit_enabled= 0 res=1 [ 0.073933] thermal_sys: Registered thermal governor 'fair_share' [ 0.073947] thermal_sys: Registered thermal governor 'bang_bang' [ 0.073974] thermal_sys: Registered thermal governor 'step_wise' [ 0.073994] thermal_sys: Registered thermal governor 'user_space' [ 0.074084] cpuidle: using governor ladder [ 0.074155] cpuidle: using governor menu [ 0.074531] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.074738] ASID allocator initialised with 65536 entries [ 0.076834] Serial: AMBA PL011 UART driver [ 0.092473] platform fe040000.vop: Fixed dependency cycle(s) with /hdmi@fe0a0 000 [ 0.120586] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 0.121240] rockchip-gpio fdd60000.gpio: probed /pinctrl/gpio@fdd60000 [ 0.121814] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 0.122182] rockchip-gpio fe740000.gpio: probed /pinctrl/gpio@fe740000 [ 0.122690] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 0.123044] rockchip-gpio fe750000.gpio: probed /pinctrl/gpio@fe750000 [ 0.123426] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 0.123842] rockchip-gpio fe760000.gpio: probed /pinctrl/gpio@fe760000 [ 0.124250] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 0.124604] rockchip-gpio fe770000.gpio: probed /pinctrl/gpio@fe770000 [ 0.126130] platform fe0a0000.hdmi: Fixed dependency cycle(s) with /hdmi-con [ 0.131577] KASLR disabled due to lack of seed [ 0.133019] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.133058] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.133081] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.133100] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.133120] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.133139] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.133158] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.133176] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.201440] raid6: neonx8 gen() 1420 MB/s [ 0.269612] raid6: neonx4 gen() 1451 MB/s [ 0.337806] raid6: neonx2 gen() 1337 MB/s [ 0.405946] raid6: neonx1 gen() 1094 MB/s [ 0.474124] raid6: int64x8 gen() 910 MB/s [ 0.542305] raid6: int64x4 gen() 1049 MB/s [ 0.610465] raid6: int64x2 gen() 934 MB/s [ 0.678627] raid6: int64x1 gen() 675 MB/s [ 0.678650] raid6: using algorithm neonx4 gen() 1451 MB/s [ 0.746769] raid6: .... xor() 1097 MB/s, rmw enabled [ 0.746794] raid6: using neon recovery algorithm [ 0.747990] fbcon: Taking over console [ 0.748070] ACPI: Interpreter disabled. [ 0.751465] iommu: Default domain type: Translated [ 0.751497] iommu: DMA domain TLB invalidation policy: lazy mode [ 0.752288] usbcore: registered new interface driver usbfs [ 0.752353] usbcore: registered new interface driver hub [ 0.752417] usbcore: registered new device driver usb [ 0.752878] pps_core: LinuxPPS API ver. 1 registered [ 0.752903] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giome tti <giometti@linux.it> [ 0.752947] PTP clock support registered [ 0.753471] EDAC MC: Ver: 3.0.0 [ 0.754110] arm-scmi firmware:scmi: Enabled polling mode TX channel - prot_id :16 [ 0.754336] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled. [ 0.754428] arm-scmi firmware:scmi: SCMI Protocol v2.0 'rockchip:' Firmware v ersion 0x0 [ 0.756377] NetLabel: Initializing [ 0.756406] NetLabel: domain hash size = 128 [ 0.756424] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO [ 0.756529] NetLabel: unlabeled traffic allowed by default [ 0.756830] vgaarb: loaded [ 0.757516] clocksource: Switched to clocksource arch_sys_counter [ 0.758290] VFS: Disk quotas dquot_6.6.0 [ 0.758391] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.758959] pnp: PnP ACPI: disabled [ 0.773453] NET: Registered PF_INET protocol family [ 0.773953] IP idents hash table entries: 65536 (order: 7, 524288 bytes, line ar) [ 0.778473] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 3276 8 bytes, linear) [ 0.778581] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.778624] TCP established hash table entries: 32768 (order: 6, 262144 bytes , linear) [ 0.778915] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, line ar) [ 0.780067] TCP: Hash tables configured (established 32768 bind 32768) [ 0.780568] MPTCP token hash table entries: 4096 (order: 4, 98304 bytes, line ar) [ 0.780758] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear) [ 0.780868] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear) [ 0.781255] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.781345] NET: Registered PF_XDP protocol family [ 0.781383] PCI: CLS 0 bytes, default 64 [ 0.782200] Trying to unpack rootfs image as initramfs... [ 0.804642] hw perfevents: enabled with armv8_cortex_a55 PMU driver, 7 counte rs available [ 0.805763] kvm [1]: IPA Size Limit: 40 bits [ 0.805856] kvm [1]: GICv3: no GICV resource entry [ 0.805881] kvm [1]: disabling GICv2 emulation [ 0.805919] kvm [1]: GIC system register CPU interface enabled [ 0.806270] kvm [1]: vgic interrupt IRQ9 [ 0.806966] kvm [1]: VHE mode initialized successfully [ 0.809621] Initialise system trusted keyrings [ 0.810030] workingset: timestamp_bits=39 max_order=20 bucket_order=0 [ 0.810194] zbud: loaded [ 0.811680] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.811765] fuse: init (API version 7.38) [ 0.865212] xor: measuring software checksum speed [ 0.871061] 8regs : 1721 MB/sec [ 0.877357] 32regs : 1577 MB/sec [ 0.883244] arm64_neon : 1690 MB/sec [ 0.883274] xor: using function: 8regs (1721 MB/sec) [ 0.883316] Key type asymmetric registered [ 0.883336] Asymmetric key parser 'x509' registered [ 0.883515] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 2 46) [ 0.883877] io scheduler mq-deadline registered [ 0.884037] io scheduler bfq registered [ 0.901757] arm-scmi firmware:scmi: Failed. SCMI protocol 22 not active. [ 0.907862] Serial: 8250/16550 driver, 8 ports, IRQ sharing enabled [ 0.912917] fe650000.serial: ttyS1 at MMIO 0xfe650000 (irq = 23, base_baud = 1500000) is a 16550A [ 0.913225] serial serial0: tty port ttyS1 registered [ 0.914689] fe660000.serial: ttyS2 at MMIO 0xfe660000 (irq = 24, base_baud = 1500000) is a 16550A [ 0.915080] printk: console [ttyS2] enabled [ 1.034345] Serial: AMBA driver [ 1.038352] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 1.052452] brd: module loaded [ 1.063323] loop: module loaded [ 1.069114] thunder_xcv, ver 1.0 [ 1.069542] thunder_bgx, ver 1.0 [ 1.069915] nicpf, ver 1.0 [ 1.072082] usbcore: registered new interface driver usbserial_generic [ 1.072717] usbserial: USB Serial support registered for generic [ 1.073322] usbcore: registered new interface driver ch341 [ 1.073879] usbserial: USB Serial support registered for ch341-uart [ 1.074485] usbcore: registered new interface driver cp210x [ 1.075018] usbserial: USB Serial support registered for cp210x [ 1.075585] usbcore: registered new interface driver ftdi_sio [ 1.076155] usbserial: USB Serial support registered for FTDI USB Serial Devi ce [ 1.076851] usbcore: registered new interface driver pl2303 [ 1.077385] usbserial: USB Serial support registered for pl2303 [ 1.078718] mousedev: PS/2 mouse device common for all mice [ 1.081766] fan53555-regulator 0-001c: FAN53555 Option[12] Rev[15] Detected! [ 1.086076] dw-apb-uart fe650000.serial: Failed to create device link (0x180) with 0-0020 [ 1.092484] ghes_edac: GHES probing device list is empty [ 1.094590] ledtrig-cpu: registered to indicate activity on CPUs [ 1.096556] arm-scmi firmware:scmi: Failed. SCMI protocol 17 not active. [ 1.097242] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 1.102753] NET: Registered PF_INET6 protocol family [ 2.807275] Freeing initrd memory: 32564K [ 2.864549] Segment Routing with IPv6 [ 2.865031] In-situ OAM (IOAM) with IPv6 [ 2.876656] registered taskstats version 1 [ 2.877282] Loading compiled-in X.509 certificates [ 2.881814] zswap: loaded using pool zstd/z3fold [ 2.895844] Key type .fscrypt registered [ 2.896244] Key type fscrypt-provisioning registered [ 2.898762] Btrfs loaded, crc32c=crc32c-generic, assert=on, integrity-checker=on, zoned=yes, f sverity=yes [ 2.926998] Key type encrypted registered [ 2.927452] ima: No TPM chip found, activating TPM-bypass! [ 2.927964] ima: Allocated hash algorithm: sha1 [ 2.928419] ima: No architecture policies found [ 2.928945] evm: Initialising EVM extended attributes: [ 2.929419] evm: security.selinux [ 2.929757] evm: security.SMACK64 [ 2.930069] evm: security.SMACK64EXEC [ 2.930406] evm: security.SMACK64TRANSMUTE [ 2.930781] evm: security.SMACK64MMAP [ 2.931117] evm: security.apparmor [ 2.931431] evm: security.ima [ 2.931707] evm: security.capability [ 2.932036] evm: HMAC attrs: 0x1 [ 2.981570] dw-apb-uart fe650000.serial: Failed to create device link (0x180) with vcc3v3-sys [ 2.986000] rk808 0-0020: chip id: 0x8090 [ 3.063270] rk808-regulator rk808-regulator.1.auto: there is no dvs0 gpio [ 3.063937] rk808-regulator rk808-regulator.1.auto: there is no dvs1 gpio [ 3.064558] rk808-regulator rk808-regulator.1.auto: max buck steps per change: 8 [ 3.115780] dw-apb-uart fe650000.serial: Failed to create device link (0x180) with 0-0020 [ 3.119197] rockchip-dw-pcie 3c0000000.pcie: host bridge /pcie@fe260000 ranges: [ 3.119921] rockchip-dw-pcie 3c0000000.pcie: IO 0x033ef00000..0x033effffff -> 0x003ef000 00 [ 3.120734] rockchip-dw-pcie 3c0000000.pcie: MEM 0x0300000000..0x033eefffff -> 0x00000000 00 [ 3.121825] rockchip-dw-pcie 3c0000000.pcie: iATU: unroll T, 8 ob, 8 ib, align 64K, limit 8G [ 4.229780] rockchip-dw-pcie 3c0000000.pcie: Phy link never came up [ 4.230844] rockchip-dw-pcie 3c0000000.pcie: PCI host bridge to bus 0000:00 [ 4.231490] pci_bus 0000:00: root bus resource [bus 00-0f] [ 4.232001] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] (bus address [0x3ef00000-0 x3effffff]) [ 4.232867] pci_bus 0000:00: root bus resource [mem 0x300000000-0x33eefffff] (bus address [0x0 0000000-0x3eefffff]) [ 4.233900] pci 0000:00:00.0: [1d87:3566] type 01 class 0x060400 [ 4.234484] pci 0000:00:00.0: reg 0x38: [mem 0x300000000-0x30000ffff pref] [ 4.235220] pci 0000:00:00.0: supports D1 D2 [ 4.235620] pci 0000:00:00.0: PME# supported from D0 D1 D3hot [ 4.244376] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [bus 00-0f] (conflicts with (null) [bus 00-0f]) [ 4.245810] pci 0000:00:00.0: BAR 6: assigned [mem 0x300000000-0x30000ffff pref] [ 4.246509] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 4.249279] pcieport 0000:00:00.0: PME: Signaling with IRQ 56 [ 4.250337] pcieport 0000:00:00.0: AER: enabled with IRQ 56 [ 4.261991] rk_gmac-dwmac fe010000.ethernet: IRQ eth_lpi not found [ 4.263465] rk_gmac-dwmac fe010000.ethernet: clock input or output? (input). [ 4.264119] rk_gmac-dwmac fe010000.ethernet: TX delay(0x4e). [ 4.264641] rk_gmac-dwmac fe010000.ethernet: RX delay(0x2c). [ 4.265167] rk_gmac-dwmac fe010000.ethernet: integrated PHY? (no). [ 4.265939] rk_gmac-dwmac fe010000.ethernet: clock input from PHY [ 4.271516] rk_gmac-dwmac fe010000.ethernet: init for RGMII [ 4.272417] rk_gmac-dwmac fe010000.ethernet: User ID: 0x30, Synopsys ID: 0x51 [ 4.273077] rk_gmac-dwmac fe010000.ethernet: DWMAC4/5 [ 4.273582] rk_gmac-dwmac fe010000.ethernet: DMA HW capability register supported [ 4.274264] rk_gmac-dwmac fe010000.ethernet: RX Checksum Offload Engine supported [ 4.274940] rk_gmac-dwmac fe010000.ethernet: TX Checksum insertion supported [ 4.275576] rk_gmac-dwmac fe010000.ethernet: Wake-Up On Lan supported [ 4.276237] rk_gmac-dwmac fe010000.ethernet: TSO supported [ 4.276742] rk_gmac-dwmac fe010000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 4.277468] rk_gmac-dwmac fe010000.ethernet: Enabled RFS Flow TC (entries=10) [ 4.278143] rk_gmac-dwmac fe010000.ethernet: TSO feature enabled [ 4.278693] rk_gmac-dwmac fe010000.ethernet: Using 32/32 bits DMA host/device width [ 4.433570] psci_checker: PSCI checker started using 4 CPUs [ 4.434114] psci_checker: Starting hotplug tests [ 4.434544] psci_checker: Trying to turn off and on again all CPUs [ 4.435899] psci: CPU0 killed (polled 0 ms) [ 4.440060] psci: CPU1 killed (polled 0 ms) [ 4.444048] psci: CPU2 killed (polled 0 ms) I/TC: Secondary CPU 0 initializing I/TC: Secondary CPU 0 switching to normal world boot [ 4.447753] Detected VIPT I-cache on CPU0 [ 4.448214] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 4.448777] GICv3: CPU0: found redistributor 0 region 0:0x00000000fd460000 [ 4.449470] CPU0: Booted secondary processor 0x0000000000 [0x412fd050] I/TC: Secondary CPU 1 initializing I/TC: Secondary CPU 1 switching to normal world boot [ 4.452879] Detected VIPT I-cache on CPU1 [ 4.453392] cacheinfo: Unable to detect cache hierarchy for CPU 1 [ 4.453956] GICv3: CPU1: found redistributor 100 region 0:0x00000000fd480000 [ 4.454661] CPU1: Booted secondary processor 0x0000000100 [0x412fd050] I/TC: Secondary CPU 2 initializing I/TC: Secondary CPU 2 switching to normal world boot [ 4.458808] Detected VIPT I-cache on CPU2 [ 4.459310] cacheinfo: Unable to detect cache hierarchy for CPU 2 [ 4.459877] GICv3: CPU2: found redistributor 200 region 0:0x00000000fd4a0000 [ 4.460582] CPU2: Booted secondary processor 0x0000000200 [0x412fd050] [ 4.462780] psci_checker: Trying to turn off and on again group 0 (CPUs 0-3) [ 4.464931] psci: CPU0 killed (polled 0 ms) [ 4.468681] psci: CPU1 killed (polled 0 ms) [ 4.472101] psci: CPU2 killed (polled 0 ms) I/TC: Secondary CPU 0 initializing I/TC: Secondary CPU 0 switching to normal world boot [ 4.475678] Detected VIPT I-cache on CPU0 [ 4.476141] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 4.476701] GICv3: CPU0: found redistributor 0 region 0:0x00000000fd460000 [ 4.477396] CPU0: Booted secondary processor 0x0000000000 [0x412fd050] I/TC: Secondary CPU 1 initializing I/TC: Secondary CPU 1 switching to normal world boot [ 4.480751] Detected VIPT I-cache on CPU1 [ 4.481262] cacheinfo: Unable to detect cache hierarchy for CPU 1 [ 4.481825] GICv3: CPU1: found redistributor 100 region 0:0x00000000fd480000 [ 4.482532] CPU1: Booted secondary processor 0x0000000100 [0x412fd050] I/TC: Secondary CPU 2 initializing I/TC: Secondary CPU 2 switching to normal world boot [ 4.486153] Detected VIPT I-cache on CPU2 [ 4.486656] cacheinfo: Unable to detect cache hierarchy for CPU 2 [ 4.487224] GICv3: CPU2: found redistributor 200 region 0:0x00000000fd4a0000 [ 4.487928] CPU2: Booted secondary processor 0x0000000200 [0x412fd050] [ 4.490210] psci_checker: Hotplug tests passed OK [ 4.490653] psci_checker: Starting suspend tests (10 cycles per state) [ 4.491306] psci_checker: cpuidle not available on CPU 0, ignoring [ 4.491873] psci_checker: cpuidle not available on CPU 1, ignoring [ 4.492431] psci_checker: cpuidle not available on CPU 2, ignoring [ 4.492989] psci_checker: cpuidle not available on CPU 3, ignoring [ 4.493580] psci_checker: Could not start suspend tests on any CPU [ 4.494142] psci_checker: PSCI checker completed [ 4.498939] Freeing unused kernel memory: 3776K [ 4.529630] Run /init as init process [ 5.686287] rockchip-vop2 fe040000.vop: Adding to iommu group 2 [ 5.686930] iommu: Failed to allocate default IOMMU domain of type 11 for group (null) - Falli ng back to IOMMU_DOMAIN_DMA [ 5.719192] panfrost fde60000.gpu: clock rate = 594000000 [ 5.720741] panfrost fde60000.gpu: bus_clock rate = 500000000 [ 5.723742] Synopsys Designware Multimedia Card Interface Driver [ 5.727686] rk808-rtc rk808-rtc.3.auto: registered as rtc0 [ 5.731896] rockchip-drm display-subsystem: bound fe040000.vop (ops vop2_component_ops [rockch ipdrm]) [ 5.736640] dwmmc_rockchip fe2b0000.mmc: IDMAC supports 32-bit address mode. [ 5.737435] dwmmc_rockchip fe2b0000.mmc: Using internal DMA controller. [ 5.738144] dwmmc_rockchip fe2b0000.mmc: Version ID is 270a [ 5.738814] dwmmc_rockchip fe2b0000.mmc: DW MMC controller at irq 60,32 bit host data width,25 6 deep fifo [ 5.742207] dwmmc_rockchip fe000000.mmc: IDMAC supports 32-bit address mode. [ 5.742932] dwmmc_rockchip fe000000.mmc: Using internal DMA controller. [ 5.743553] dwmmc_rockchip fe000000.mmc: Version ID is 270a [ 5.744132] dwmmc_rockchip fe000000.mmc: DW MMC controller at irq 59,32 bit host data width,25 6 deep fifo [ 5.745784] dwmmc_rockchip fe2c0000.mmc: IDMAC supports 32-bit address mode. [ 5.746498] dwmmc_rockchip fe2c0000.mmc: Using internal DMA controller. [ 5.747112] dwmmc_rockchip fe2c0000.mmc: Version ID is 270a [ 5.747712] dwmmc_rockchip fe2c0000.mmc: DW MMC controller at irq 61,32 bit host data width,25 6 deep fifo [ 5.770452] rk808-rtc rk808-rtc.3.auto: setting system clock to 2017-08-05T09:00:10 UTC (15019 23610) [ 5.785915] dwhdmi-rockchip fe0a0000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC H DMI 2.0 TX PHY) [ 5.787877] panfrost fde60000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status 0x0 [ 5.788616] panfrost fde60000.gpu: features: 00000000,00000cf7, issues: 00000000,00000400 [ 5.789363] panfrost fde60000.gpu: Features: L2:0x07110206 Shader:0x00000002 Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7 [ 5.790457] panfrost fde60000.gpu: shader_present=0x1 l2_present=0x1 [ 5.791757] dwmmc_rockchip fe2b0000.mmc: Got CD GPIO [ 5.793694] dwhdmi-rockchip fe0a0000.hdmi: registered DesignWare HDMI I2C bus driver [ 5.797803] rockchip-drm display-subsystem: bound fe0a0000.hdmi (ops dw_hdmi_rockchip_ops [roc kchipdrm]) [ 5.800580] [drm] Initialized rockchip 1.0.0 20140818 for display-subsystem on minor 1 [ 5.801672] mmc_host mmc3: Bus speed (slot 0) = 375000Hz (slot req 400000Hz, actual 375000HZ d iv = 0) [ 5.803000] [drm] Initialized panfrost 1.2.0 20180908 for fde60000.gpu on minor 0 [ 5.805708] mmc_host mmc0: Bus speed (slot 0) = 375000Hz (slot req 400000Hz, actual 375000HZ d iv = 0) [ 5.811530] dwmmc_rockchip fe2c0000.mmc: IDMAC supports 32-bit address mode. [ 5.812245] dwmmc_rockchip fe2c0000.mmc: Using internal DMA controller. [ 5.812857] dwmmc_rockchip fe2c0000.mmc: Version ID is 270a [ 5.813408] dwmmc_rockchip fe2c0000.mmc: DW MMC controller at irq 61,32 bit host data width,25 6 deep fifo [ 5.823907] dwmmc_rockchip fe2c0000.mmc: IDMAC supports 32-bit address mode. [ 5.824659] dwmmc_rockchip fe2c0000.mmc: Using internal DMA controller. [ 5.825278] dwmmc_rockchip fe2c0000.mmc: Version ID is 270a [ 5.825901] dwmmc_rockchip fe2c0000.mmc: DW MMC controller at irq 61,32 bit host data width,25 6 deep fifo [ 5.831939] sdhci: Secure Digital Host Controller Interface driver [ 5.832561] sdhci: Copyright(c) Pierre Ossman [ 5.835311] sdhci-pltfm: SDHCI platform and OF driver helper [ 5.873823] dma-pl330 fe530000.dma-controller: Loaded driver for PL330 DMAC-241330 [ 5.874559] dma-pl330 fe530000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-32 Num_Events-16 [ 5.893235] ohci-platform fd840000.usb: Generic Platform OHCI controller [ 5.893981] ohci-platform fd840000.usb: new USB bus registered, assigned bus number 1 [ 5.895602] ohci-platform fd8c0000.usb: Generic Platform OHCI controller [ 5.896278] ohci-platform fd8c0000.usb: new USB bus registered, assigned bus number 2 Thigs that need work around: Quote [ 1.086076] dw-apb-uart fe650000.serial: Failed to create device link (0x180) with 0-0020 [ 1.092484] ghes_edac: GHES probing device list is empty [ 2.981570] dw-apb-uart fe650000.serial: Failed to create device link (0x180) with vcc3v3-sys [ 3.119197] rockchip-dw-pcie 3c0000000.pcie: host bridge /pcie@fe260000 ranges: [ 3.119921] rockchip-dw-pcie 3c0000000.pcie: IO 0x033ef00000..0x033effffff -> 0x003ef000 00 [ 3.120734] rockchip-dw-pcie 3c0000000.pcie: MEM 0x0300000000..0x033eefffff -> 0x00000000 00 [ 3.121825] rockchip-dw-pcie 3c0000000.pcie: iATU: unroll T, 8 ob, 8 ib, align 64K, limit 8G [ 4.229780] rockchip-dw-pcie 3c0000000.pcie: Phy link never came up [ 4.230844] rockchip-dw-pcie 3c0000000.pcie: PCI host bridge to bus 0000:00 [ 4.231490] pci_bus 0000:00: root bus resource [bus 00-0f] [ 4.232001] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] (bus address [0x3ef00000-0 x3effffff]) [ 4.232867] pci_bus 0000:00: root bus resource [mem 0x300000000-0x33eefffff] (bus address [0x0 0000000-0x3eefffff]) [ 4.233900] pci 0000:00:00.0: [1d87:3566] type 01 class 0x060400 [ 4.234484] pci 0000:00:00.0: reg 0x38: [mem 0x300000000-0x30000ffff pref] [ 4.235220] pci 0000:00:00.0: supports D1 D2 [ 4.235620] pci 0000:00:00.0: PME# supported from D0 D1 D3hot [ 4.244376] pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [bus 00-0f] (conflicts with (null) [bus 00-0f]) [ 4.245810] pci 0000:00:00.0: BAR 6: assigned [mem 0x300000000-0x30000ffff pref] [ 4.246509] pci 0000:00:00.0: PCI bridge to [bus 01-ff] [ 5.893235] ohci-platform fd840000.usb: Generic Platform OHCI controller [ 5.893981] ohci-platform fd840000.usb: new USB bus registered, assigned bus number 1 [ 5.895602] ohci-platform fd8c0000.usb: Generic Platform OHCI controller [ 5.896278] ohci-platform fd8c0000.usb: new USB bus registered, assigned bus number 2 Edited June 1, 2023 by hotnikq 0 Quote Link to comment Share on other sites More sharing options...
Hqnicolas Posted June 1, 2023 Author Share Posted June 1, 2023 (edited) Lets Start with an example: Leds: On H96 MAX Android 12 DTS we have: Quote leds { compatible = "gpio-leds"; status = "okay"; power-green { gpios = <0x35 0x1b 0x01>; linux,default-trigger = "none"; default-state = "off"; }; power-red { gpios = <0x35 0x1c 0x00>; //////// 0x35 is a phandle for gpio@fdd60000 and 0x1c is the pin 0x00 is State linux,default-trigger = "none"; default-state = "off"; }; }; gpio@fdd60000 { compatible = "rockchip,gpio-bank"; reg = <0x00 0xfdd60000 0x00 0x100>; interrupts = <0x00 0x21 0x04>; clocks = <0x31 0x2e 0x31 0x0c>; gpio-controller; #gpio-cells = <0x02>; gpio-ranges = <0x11b 0x00 0x00 0x20>; interrupt-controller; #interrupt-cells = <0x02>; phandle = <0x35>; ////// 0x35 is the definition for phandle of gpio@fdd60000 }; aliases { gpio0 = "/pinctrl/gpio@fdd60000"; ///////// gpio@fdd60000 is the address for gpio0 } and on Linux Rockchip: Quote gpio0: gpio@fdd60000 { compatible = "rockchip,gpio-bank"; reg = <0x0 0xfdd60000 0x0 0x100>; interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; gpio-controller; gpio-ranges = <&pinctrl 0 0 32>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; The following example could be used to describe GPIO pins used as device enable and bit-banged data signals: gpio1: gpio1 { gpio-controller; #gpio-cells = <2>; }; [...] data-gpios = <&gpio1 12 0>, <&gpio1 13 0>, <&gpio1 14 0>, <&gpio1 15 0>; In the above example, &gpio1 uses 2 cells to specify a gpio. The first cell is a local offset to the GPIO line and the second cell represent consumer flags, such as if the consumer desire the line to be active low (inverted) or open drain. This is the recommended practice. #define RK_PA0 0 #define RK_PA1 1 #define RK_PA2 2 #define RK_PA3 3 #define RK_PA4 4 #define RK_PA5 5 #define RK_PA6 6 #define RK_PA7 7 #define RK_PB0 8 #define RK_PB1 9 #define RK_PB2 10 #define RK_PB3 11 #define RK_PB4 12 #define RK_PB5 13 #define RK_PB6 14 #define RK_PB7 15 #define RK_PC0 16 #define RK_PC1 17 #define RK_PC2 18 #define RK_PC3 19 #define RK_PC4 20 #define RK_PC5 21 #define RK_PC6 22 #define RK_PC7 23 #define RK_PD0 24 #define RK_PD1 25 #define RK_PD2 26 #define RK_PD3 27 #define RK_PD4 28 #define RK_PD5 29 #define RK_PD6 30 #define RK_PD7 31 So we can do an Linux H96 MAX compatible: Quote leds { compatible = "gpio-leds"; status = "okay"; power-green { gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>; linux,default-trigger = "none"; default-state = "off"; }; power-red { gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>; linux,default-trigger = "none"; default-state = "off"; }; }; gpio0: gpio@fdd60000 { compatible = "rockchip,gpio-bank"; reg = <0x0 0xfdd60000 0x0 0x100>; interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; gpio-controller; gpio-ranges = <&pinctrl 0 0 32>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; and let's pray that the linux gods give us strength to run this translation on all devices........... Edited June 1, 2023 by hotnikq 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.