mcerveny
Members-
Posts
10 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
I successfully tested videoengine (tested 2k,4k,hevc,h264 and 4k hdr hevc (with non hdr output)). I found the problem in VI (video) layer in DRM (displayengine) output. I must change at least once after poweron DRM property "COLOR_RANGE" to DRM_COLOR_YCBCR_FULL_RANGE to get correctly setup CSC (color space conversion) in hw 🤨, lost 3 days in kernel debug.
-
This code does not seem to be right: #define SUN50I_H616_NVMEM_MASK 0x22 #define SUN50I_H616_NVMEM_SHIFT 5 ... u32 efuse_value = (*(u32 *)efuse >> SUN50I_H616_NVMEM_SHIFT) & SUN50I_H616_NVMEM_MASK; ... if (efuse_value >=1 && efuse_value <= 3) Are you sure about MASK ? Or it is bitmask that should be translated like A100 -> https://www.lkml.org/lkml/2020/12/8/70
-
I tested with kernel 6.2RC4 (some driver code change needed), notes: do not increase GPU voltage reg_dcdcc: dcdcc { regulator-always-on; regulator-min-microvolt = <810000>; - regulator-max-microvolt = <1080000>; + regulator-max-microvolt = <1100000>; regulator-name = "vdd-gpu-sys"; }; absolute maximum (from H616_Datasheet_V1.0_cleaned.pdf): recommended (from H616_Datasheet_V1.0_cleaned.pdf): my sun50i-h616-orangepi-zero2.dts: reg_dcdcc: dcdcc { regulator-always-on; regulator-min-microvolt = <810000>; regulator-max-microvolt = <990000>; regulator-name = "vdd-gpu-sys"; }; I also reworked temperature - cooling my sun50i-h616.dtsi: cpu_thermal: cpu-thermal { polling-delay-passive = <500>; polling-delay = <1000>; thermal-sensors = <&ths 2>; trips { cpu_target: cpu-target { temperature = <75000>; hysteresis = <2000>; type = "passive"; }; critical { temperature = <105000>; hysteresis = <2000>; type = "critical"; }; }; cooling-maps { map0 { trip = <&cpu_target>; cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; }; my sun50i-h616-orangepi-zero2.dts: &cpu_thermal { /delete-node/ trips; // beaware, all points must have different names otherwise dts compiller does not hold position and driver stuck in differnt trip point trips { cpu_warm: cpu_warm { temperature = <75000>; hysteresis = <2000>; type = "passive"; }; cpu_hot_pre: cpu_hot_pre { temperature = <80000>; hysteresis = <2000>; type = "passive"; }; cpu_hot: cpu_hot { temperature = <85000>; hysteresis = <2000>; type = "passive"; }; cpu_very_hot: cpu_very_hot { temperature = <90000>; hysteresis = <2000>; type = "passive"; }; cpu_critical { temperature = <105000>; hysteresis = <2000>; type = "critical"; }; }; /delete-node/ cooling-maps; cooling-maps { cpu_warm_limit_cpu { trip = <&cpu_warm>; cooling-device = <&cpu0 THERMAL_NO_LIMIT 2>; }; cpu_hot_pre_limit_cpu { trip = <&cpu_hot_pre>; cooling-device = <&cpu0 3 3>; }; cpu_hot_limit_cpu { trip = <&cpu_hot>; cooling-device = <&cpu0 4 4>; }; cpu_very_hot_limit_cpu { trip = <&cpu_very_hot>; cooling-device = <&cpu0 5 THERMAL_NO_LIMIT>; }; }; }; my testing 0 - idle 10 - run "stress --cpu 4" 36 - additional external heating 134 - remove heating 304 - stop "stress --cpu 4"
-
So the question, the armbian patches are well aligned with the new kernel, why are they not pushed to mainline ? Do you also have a terrible experience with linux mainlining process ?
-
Custom u-boot configuration howto?
mcerveny replied to Xenomorph Neurotoxin's topic in Orange Pi Zero 2
I was successful to boot uBoot over SPI-FLASH and continue to boot over network (PXE+NFS), and my few comments: uboot (orangepi) - https://github.com/orangepi-xunlong/u-boot-orangepi.git (v2021.10-sunxi) does not support SPI-FLASH boot upstream uboot hungs, but it has patch to support SPI boot (since v2023.01-rc1) - https://patchwork.ozlabs.org/project/uboot/list/?series=252044&state=* - https://github.com/u-boot/u-boot/commit/e50ee3a8d7328142eb24741305f751e5c0952380 so I extend 1. with 2. (attached) and rebuild uBoot flash uboot, in linux ` nandwrite /dev/mtd0 u-boot-sunxi-with-spl.bin ` (erase: ` flash_eraseall /dev/mtd0 `) install jumper between PC5 and GND (13-14 pinheader) ... and boot U-Boot SPL 2021.10-g0b91e222-dirty (Jan 09 2023 - 02:10:12 +0100) DRAM: 1024 MiB Trying to boot from sunxi SPI NOTICE: BL31: v2.8(debug):f4d8ed5 NOTICE: BL31: Built : 23:43:55, Jan 7 2023 NOTICE: BL31: Detected Allwinner H616 SoC (1823) NOTICE: BL31: Found U-Boot DTB at 0x4a087b80, model: OrangePi Zero2 INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP305 on RSB INFO: PMIC: aldo1 voltage: 3.300V INFO: PMIC: aldo2 voltage: 3.300V INFO: PMIC: aldo3 voltage: 3.300V INFO: PMIC: bldo1 voltage: 1.800V INFO: PMIC: bldo2 voltage: 1.800V INFO: PMIC: dcdcd voltage: 1.500V INFO: PMIC: dcdce voltage: 3.300V INFO: BL31: Platform setup done INFO: BL31: Initializing runtime services INFO: BL31: cortex_a53: CPU workaround for 855873 was applied INFO: BL31: cortex_a53: CPU workaround for 1530924 was applied INFO: PSCI: Suspend is unavailable INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x4a000000 INFO: SPSR = 0x3c9 INFO: Changed devicetree. U-Boot 2021.10-g0b91e222-dirty (Jan 09 2023 - 02:10:12 +0100) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: OrangePi Zero2 I2C: ready DRAM: 1 GiB MMC: mmc@4020000: 0 Loading Environment from SPIFlash... SF: Detected mx25l1606e with page size 256 Bytes, erase size 4 KiB, total 2 MiB OK In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Net: phy interface7 eth0: ethernet@5020000 Autoboot in 2 seconds, press <Space> to stop MMC: no card present ethernet@5020000 Waiting for PHY auto negotiation to complete.. done BOOTP broadcast 1 *** Unhandled DHCP Option in OFFER/ACK: 2 *** Unhandled DHCP Option in OFFER/ACK: 42 *** Unhandled DHCP Option in OFFER/ACK: 4 *** Unhandled DHCP Option in OFFER/ACK: 252 *** Unhandled DHCP Option in OFFER/ACK: 2 *** Unhandled DHCP Option in OFFER/ACK: 42 *** Unhandled DHCP Option in OFFER/ACK: 4 *** Unhandled DHCP Option in OFFER/ACK: 252 DHCP client bound to address 192.168.1.242 (45 ms) *** Warning: no boot file name; using 'C0A801F2.img' Using ethernet@5020000 device TFTP from server 192.168.1.1; our IP address is 192.168.1.242 Filename 'C0A801F2.img'. Load address: 0x42000000 Loading: * TFTP error: 'Access violation' (2) Not retrying... missing environment variable: pxeuuid missing environment variable: bootfile Retrieving file: pxelinux.cfg/01-02-00-d2-c3-32-42 Using ethernet@5020000 device TFTP from server 192.168.1.1; our IP address is 192.168.1.242 Filename 'pxelinux.cfg/01-02-00-d2-c3-32-42'. Load address: 0x4fd00000 Loading: * TFTP error: 'Access violation' (2) Not retrying... missing environment variable: bootfile Retrieving file: pxelinux.cfg/C0A801F2 Using ethernet@5020000 device TFTP from server 192.168.1.1; our IP address is 192.168.1.242 Filename 'pxelinux.cfg/C0A801F2'. Load address: 0x4fd00000 Loading: # 11.7 KiB/s done Bytes transferred = 126 (7e hex) Config file found 1: linux missing environment variable: bootfile Retrieving file: uInitrd Using ethernet@5020000 device TFTP from server 192.168.1.1; our IP address is 192.168.1.242 Filename 'uInitrd'. Load address: 0x4ff00000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ######################### 9.2 MiB/s done Bytes transferred = 15625901 (ee6ead hex) missing environment variable: bootfile Retrieving file: Image Using ethernet@5020000 device TFTP from server 192.168.1.1; our IP address is 192.168.1.242 Filename 'Image'. Load address: 0x40080000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ###################### 9.8 MiB/s done Bytes transferred = 22259720 (153a808 hex) append: root=/dev/nfs nfsroot=192.168.1.1:/sunxi/ ip=dhcp rw missing environment variable: bootfile Retrieving file: dtb/allwinner/sun50i-h616-orangepi-zero2.dtb Using ethernet@5020000 device TFTP from server 192.168.1.1; our IP address is 192.168.1.242 Filename 'dtb/allwinner/sun50i-h616-orangepi-zero2.dtb'. Load address: 0x4fa00000 Loading: ### 706.1 KiB/s done Bytes transferred = 38323 (95b3 hex) Moving Image from 0x40080000 to 0x40200000, end=417a0000 ## Loading init Ramdisk from Legacy Image at 4ff00000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 15625837 Bytes = 14.9 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 4fa00000 Booting using the fdt blob at 0x4fa00000 Loading Ramdisk to 49119000, end 49fffe6d ... OK Loading Device Tree to 000000004910c000, end 00000000491185b2 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.16.17-sun50iw9 (martin@martin-v15) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #3 SMP Wed Jan 11 14:07:16 CET 2023 [ 0.000000] Machine model: OrangePi Zero2 [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] NUMA: NODE_DATA [mem 0x7fdca040-0x7fdcbfff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000040000000-0x000000004007ffff] [ 0.000000] node 0: [mem 0x0000000040080000-0x000000007fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff] [ 0.000000] cma: Reserved 128 MiB at 0x0000000076c00000 [ 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 spiboot.patch -
Thanks. I cannot find your work under H616 and Allwinner is too generic. Can you navigate me to the right patch (maybe WIP repo outside patch queue) ? h616 patchwork allwinner patchwork
-
Hello. I see some progress in H616 (OPIZ2) support in mainline linux (now 6.2RC5 comes with USB) - https://linux-sunxi.org/Linux_mainlining_effort . I tried to setup/enable some other components and I am successful with upstream linux kernel 6.2RC5: - displayengine (drm, fb, mixer, tcon, hdmi) (seems to have some I2C/EDID problems) - videoengine (cedrus) (in testing now) - gpu (3d mali, panfrost) - dma, efuse, thermal ... but I am unsuccessful with - crypto (total different behavior in contrast to H616 manual) and untested - audio codecs and hdmi audio - opp power management (frequency + voltage) for CPU and GPU - SDIO wifi I was also successful with uBoot (some patches from upstream uBoot) to boot sdcard-less from SPI flash and then from network PXE+NFS. Does anyone do some work in this direction ?