Hi Alexey and Dragan, On 2024-05-30 21:31, Dragan Simic wrote: > Hello Alexey, > [snip] >>>>> That way we'll have no roadblocks if, at some point, we end up with >>>>> having >>>>> different OPPs defined for the RK3588 and the RK3588S variants. Or >>>>> maybe >>>>> even for the RK3582, which we don't know much about yet. >>>> >>>> Guess we'll deal with that one once we stumble upon an actual RK3582 >>>> board out in the wild and heading to the mainline kernel tree :) >>> >>> Of course, that was just an example for the future use. >> >> In fact, I've just discovered that Radxa has recently released Rock 5C >> Lite which is based on RK3582, and starts at just $29 for the 1GB >> version, making it interesting for tinkering. Especially given that >> its GPU, one of the big-core clusters and one of the VPU cores seem to >> be disabled in software (u-boot) rather than in hardware, which means >> there is some chance that a particular SoC specimen would actually >> have them in a working condition and possible to re-enable at no cost. >> Ordered myself one to investigate :) > > Yes, I also saw the RK3582-based ROCK 5C Lite a couple of days ago. :) > It seems that the disabled IP blocks are detected as defective during > the manufacturing, which means that they might work correctly, or might > actually misbehave. It seems similar to the way old three-core AMD > Phenom II CPUs could sometimes be made quad-core. > I can confirm that the RK3582 include ip-state in OTP indicating unusable cores, any unusable cpu core cannot be taken online and stalls Linux kernel a few extra seconds during boot. Started working on a patch for U-Boot to remove any broken cpu core and/or cluster nodes, similar to what vendor U-Boot does, adopted to work with a mainline DT for RK3588. On one of my ROCK 5C Lite board one of the cpu cores is unusable, U-Boot removes the related cpu cluster nodes. On another ROCK 5C Lite board one rkvdec core is only marked unusable and all cpu cores can be taken online, U-Boot does nothing in this case. Guessing we should apply similar policy as vendor U-Boot and disable cores anyway. Following commit contains early work-in-progress and some debug output. https://github.com/Kwiboo/u-boot-rockchip/commit/8cdf606e616baa36751f3b4adcfaefc781126c8c Booting ROCK 5C Lite boards using U-Boot generic-rk3588_defconfig: ROCK 5C Lite v1.1 (RK3582 with 1 bad cpu core): cpu-code: 3582 cpu-version: 08 10 data: fe 21 package: 11 specification: 01 ip-state: 10 00 00 bad-state: cpu core 4 ROCK 5C Lite v1.1 (RK3582 with 1 bad rkvdec core): cpu-code: 3582 cpu-version: 08 00 data: fe 21 package: 11 specification: 01 ip-state: 00 80 00 bad-state: rkvdec core 1 Regards, Jonas