FYI: i.MX8MP ISP (RKISP1) MI registers corruption

Krzysztof Hałasa khalasa at piap.pl
Fri Aug 1 05:19:56 PDT 2025


Hi,

reporting from the field :-)

At this point I've something like the following:
- run camera apps in background (so the clocks etc. are up)
- while (analyze_mi -m1 -s10000000 -r -a 0x32E21400 shows errors) {
	change_clock 0x30388A80 3 3 # 50 MHz
        change_clock 0x30388A80 0 3 # 200 MHz - the original settings
}

It all takes a couple of seconds.
I guess I made some minor changes to analyze_mi.c, can post it
if needed.

where change_clock writes directly do the CCM registers
(MEDIA_APB_ROOT_CLK) and sets "PRE" and "POST" dividers (3 and 3 =
800 MHz / (3 + 1) / (3 + 1) = 50 Mhz and the same for 200 Mhz.

It appears to work. I'm getting (Connection closed = reboot):

MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 9,999,999
Register 0x32E21400 mi_ctrl value          0 count 1

MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 16 = 50 MHz
MEDIA_APB EN mux 2 pre 0 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 9,999,998
Register 0x32E21400 mi_ctrl value          0 count 1
Register 0x32E21400 mi_ctrl value 0x00010001 count 1

MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 16 = 50 MHz
MEDIA_APB EN mux 2 pre 0 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 9,999,988
Register 0x32E21400 mi_ctrl value          0 count 12

MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 16 = 50 MHz
MEDIA_APB EN mux 2 pre 0 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 9,999,781
Register 0x32E21400 mi_ctrl value          0 count 206
Register 0x32E21400 mi_ctrl value 0x3C380000 count 3
Register 0x32E21400 mi_ctrl value 0x000FD200 count 5
Register 0x32E21400 mi_ctrl value 0x3C440000 count 3
Register 0x32E21400 mi_ctrl value 0x3C140000 count 2

MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 16 = 50 MHz
MEDIA_APB EN mux 2 pre 0 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 9,999,999
Register 0x32E21400 mi_ctrl value          0 count 1

MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 16 = 50 MHz
MEDIA_APB EN mux 2 pre 0 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 9,999,752
Register 0x32E21400 mi_ctrl value          0 count 237
Register 0x32E21400 mi_ctrl value 0x3C140000 count 2
Register 0x32E21400 mi_ctrl value 0x000FD200 count 4
Register 0x32E21400 mi_ctrl value 0x3C380000 count 1
Register 0x32E21400 mi_ctrl value 0x3C440000 count 2
Register 0x32E21400 mi_ctrl value 0x3C2C0000 count 2

MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 16 = 50 MHz
MEDIA_APB EN mux 2 pre 0 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition

Connection to 10.0.9.123 closed by remote host.
MEDIA_APB EN mux 2 pre 3 SYSTEM_PLL1_CLK / 4 = 200 MHz
Register 0x32E21400 mi_ctrl value 0x007A2001 count 10,000,000

Found possibly stable condition
-- 
Krzysztof "Chris" Hałasa

Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa



More information about the linux-arm-kernel mailing list