Mali-450 support by lima

devmemX/devmem2 0x1000301C
00000FFF

So GPU is offline for sure.

devmem2 0x10003014 w 0x00000001

devmem2 0x1000301C             
00000FFE

So GPU is posible to put online… Need modularize lima to test if this trick is effective.

After hot boot:
devmem2 0x1000301C
00000FFF

devmem2 0x10003014 w 0x00000001

modprobe lima

[  599.901524] lima 13040000.gpu: IRQ ppmmu4 not found
[  599.901532] lima 13040000.gpu: IRQ ppmmu5 not found
[  599.901540] lima 13040000.gpu: IRQ ppmmu6 not found
[  599.901547] lima 13040000.gpu: IRQ ppmmu7 not found
[  599.901581] lima 13040000.gpu: gp - mali450 version major 0 minor 0
[  599.901636] lima 13040000.gpu: pp0 - mali450 version major 0 minor 0
[  599.901691] lima 13040000.gpu: pp1 - mali450 version major 0 minor 0
[  599.901738] lima 13040000.gpu: pp2 - mali450 version major 0 minor 0
[  599.901790] lima 13040000.gpu: pp3 - mali450 version major 0 minor 0
[  599.901832] lima 13040000.gpu: IRQ pp4 not found
[  599.901839] lima 13040000.gpu: IRQ pp5 not found
[  599.901846] lima 13040000.gpu: IRQ pp6 not found
[  599.901853] lima 13040000.gpu: IRQ pp7 not found
[  599.901861] lima 13040000.gpu: l2 cache 8K, 4-way, 64byte cache line, 128bit external bus
[  599.901869] lima 13040000.gpu: l2 cache 128K, 4-way, 64byte cache line, 128bit external bus
[  599.901917] lima: ip-id: 25 ppmmu: 25 
[  599.902568] lima 13040000.gpu: bus rate = 500500000
[  599.902578] lima 13040000.gpu: mod rate = 500500000
[  599.903197] [drm] Initialized lima 1.0.0 20190217 for 13040000.gpu on minor 1

This is 5.5-merged

2 Likes

Do i understand it right,you check status and switch on power for mali?

If yes you can try adding the regulator from 4.4 i’ve posted here

Yep I read first status register. As you can see 0th bit is 1 so mali is power off. Writing it to 1 power_on register is effective and mali stay on. Can check it from status register after writing. After boot it is powered off.

I booted 4.19-main and there is also GPU power off by default. So I think you can apply 4.19 lima patches to 4.19-main and do power on before load lima module…?

Is it GCPU_PDN flag?

devmem2 is it a userspace tool?

UPD, found devmem and tested.

bpi-r2-gentoo /lib/modules # dmesg -C  
bpi-r2-gentoo /lib/modules # devmem 0x10003014 w 0x00000001
/dev/mem opened.
Memory mapped at address 0xb6f2b000.
Value at address 0x10003014 (0xb6f2b014): 0x0
Written 0x1; readback 0x0
bpi-r2-gentoo /lib/modules # devmem 0x1000301C
/dev/mem opened.
Memory mapped at address 0xb6f69000.
Value at address 0x1000301C (0xb6f6901c): 0xFFE
bpi-r2-gentoo /lib/modules # modprobe lima
bpi-r2-gentoo /lib/modules # dmesg
[45599.640115] LIMA_INIT: lima_clk_init
[45599.640191] LIMA_INIT: lima_clk_init_err:0
[45599.640245] LIMA_INIT: lima_regulator_init_err:0
[45599.642151] LIMA_INIT: lima_dlbu_cpu no err:0
[45599.642230] lima 13040000.gpu: IRQ pmu not found
[45599.642248] lima 13040000.gpu: Lima_init_ip: ip:0, err:0
[45599.642327] lima 13040000.gpu: mmu gpmmu dte write: ADDR:0,val:cafebabe
[45599.642345] lima 13040000.gpu: mmu gpmmu dte read: ADDR:0,val:0
[45599.642356] lima 13040000.gpu: mmu gpmmu dte write test fail
[45599.642366] lima 13040000.gpu: Lima_init_ip: ip:1, err:-5
[45599.681835] lima: probe of 13040000.gpu failed with error -5
bpi-r2-gentoo /lib/modules #
bpi-r2-gentoo /lib/modules # uname -r
5.5.0-rc5-bpi-r2-merged

P.S. after reboot:

bpi-r2-gentoo ~ # devmem 0x1000301C
/dev/mem opened.
Memory mapped at address 0xb6f03000.
Value at address 0x1000301C (0xb6f0301c): 0xFFF

Do you have any additional changes in code or dts? Can you show ‘git diff’?

I changed only lima, added debug in 5.5-merged.

I can show git diff after someone give more exact commandline parameters to run…

Now compiling Frank newest 4.19-main where added lima driver. Don’t know yet compiles it ok…

Btw I used:

1 Like

Ok, after i chanded mt7623,dtsi

g3dsys: syscon@13000000 {

to

g3dsys: clock-controller@13000000 {

Your method worked.

[  120.071693] LIMA_INIT: lima_clk_init
[  120.071752] LIMA_INIT: lima_clk_init_err:0
[  120.071799] LIMA_INIT: lima_regulator_init_err:0
[  120.073328] LIMA_INIT: lima_dlbu_cpu no err:0
[  120.073383] lima 13040000.gpu: IRQ pmu not found
[  120.073391] lima 13040000.gpu: Lima_init_ip: ip:0, err:0
[  120.073446] lima 13040000.gpu: mmu gpmmu dte write: ADDR:0,val:cafebabe
[  120.073458] lima 13040000.gpu: mmu gpmmu dte read: ADDR:0,val:cafeb000
[  120.073540] lima 13040000.gpu: Lima_init_ip: ip:1, err:0
[  120.073578] lima 13040000.gpu: mmu ppmmu0 dte write: ADDR:0,val:cafebabe
[  120.073588] lima 13040000.gpu: mmu ppmmu0 dte read: ADDR:0,val:cafeb000
[  120.073641] lima 13040000.gpu: Lima_init_ip: ip:2, err:0
[  120.073674] lima 13040000.gpu: mmu ppmmu1 dte write: ADDR:0,val:cafebabe
[  120.073693] lima 13040000.gpu: mmu ppmmu1 dte read: ADDR:0,val:cafeb000
[  120.073746] lima 13040000.gpu: Lima_init_ip: ip:3, err:0
[  120.073773] lima 13040000.gpu: mmu ppmmu2 dte write: ADDR:0,val:cafebabe
[  120.073781] lima 13040000.gpu: mmu ppmmu2 dte read: ADDR:0,val:cafeb000
[  120.073855] lima 13040000.gpu: Lima_init_ip: ip:4, err:0
[  120.073882] lima 13040000.gpu: mmu ppmmu3 dte write: ADDR:0,val:cafebabe
[  120.073890] lima 13040000.gpu: mmu ppmmu3 dte read: ADDR:0,val:cafeb000
[  120.073946] lima 13040000.gpu: Lima_init_ip: ip:5, err:0
[  120.073958] lima 13040000.gpu: IRQ ppmmu4 not found
[  120.073964] lima 13040000.gpu: Lima_init_ip: ip:6, err:0
[  120.073973] lima 13040000.gpu: IRQ ppmmu5 not found
[  120.073979] lima 13040000.gpu: Lima_init_ip: ip:7, err:0
[  120.073988] lima 13040000.gpu: IRQ ppmmu6 not found
[  120.073994] lima 13040000.gpu: Lima_init_ip: ip:8, err:0
[  120.074002] lima 13040000.gpu: IRQ ppmmu7 not found
[  120.074008] lima 13040000.gpu: Lima_init_ip: ip:9, err:0
[  120.074034] lima 13040000.gpu: gp - mali450 version major 0 minor 0
[  120.074091] lima 13040000.gpu: Lima_init_ip: ip:10, err:0
[  120.074117] lima 13040000.gpu: pp0 - mali450 version major 0 minor 0
[  120.074180] lima 13040000.gpu: Lima_init_ip: ip:11, err:0
[  120.074208] lima 13040000.gpu: pp1 - mali450 version major 0 minor 0
[  120.074261] lima 13040000.gpu: Lima_init_ip: ip:12, err:0
[  120.074287] lima 13040000.gpu: pp2 - mali450 version major 0 minor 0
[  120.074338] lima 13040000.gpu: Lima_init_ip: ip:13, err:0
[  120.074362] lima 13040000.gpu: pp3 - mali450 version major 0 minor 0
[  120.074416] lima 13040000.gpu: Lima_init_ip: ip:14, err:0
[  120.074426] lima 13040000.gpu: IRQ pp4 not found
[  120.074433] lima 13040000.gpu: Lima_init_ip: ip:15, err:0
[  120.074441] lima 13040000.gpu: IRQ pp5 not found
[  120.074448] lima 13040000.gpu: Lima_init_ip: ip:16, err:0
[  120.074456] lima 13040000.gpu: IRQ pp6 not found
[  120.074463] lima 13040000.gpu: Lima_init_ip: ip:17, err:0
[  120.074471] lima 13040000.gpu: IRQ pp7 not found
[  120.074477] lima 13040000.gpu: Lima_init_ip: ip:18, err:0
[  120.074488] lima 13040000.gpu: l2 cache 8K, 4-way, 64byte cache line, 128bit external bus
[  120.074496] lima 13040000.gpu: Lima_init_ip: ip:19, err:0
[  120.074504] lima 13040000.gpu: l2 cache 128K, 4-way, 64byte cache line, 128bit external bus
[  120.074511] lima 13040000.gpu: Lima_init_ip: ip:20, err:0
[  120.074519] lima 13040000.gpu: Lima_init_ip: ip:21, err:0
[  120.074526] lima 13040000.gpu: Lima_init_ip: ip:22, err:0
[  120.074533] lima 13040000.gpu: Lima_init_ip: ip:23, err:0
[  120.074628] lima 13040000.gpu: Lima_init_ip: ip:24, err:0
[  120.074637] lima 13040000.gpu: Lima_init_ip: ip:25, err:0
[  120.075470] lima 13040000.gpu: bus rate = 500500000
[  120.075484] lima 13040000.gpu: mod rate = 500500000
[  120.076419] [drm] Initialized lima 1.0.0 20190217 for 13040000.gpu on minor 1

Atleast it looks like a light in the end of a tunnel :smiley:

I’ll tty to check devmem 0x1000301C in working 4.16-mt

i found https://bootlin.com/pub/mirror/ - works fine for me :slight_smile:

Could you please check g3dsys?

Yep, but next to find why only 1/2 of GPU is activated…

Hmm, I don’t modified it:

        g3dsys: syscon@13000000 {
                compatible = "mediatek,mt7623-g3dsys",
                             "mediatek,mt2701-g3dsys",
                             "syscon";
                reg = <0 0x13000000 0 0x200>;
                #clock-cells = <1>;
                #reset-cells = <1>;
        };

That is intresting to know. Lima driver says it don’t handle powermanagement yet.

1 Like

As i know mt7632n’s mali450 has 1 GP and 4 PPs so everything seems ok

http://wiki.banana-pi.org/Banana_Pi_router_Comparison - bpi-r2 has mali450 MP4 i.e. 4 PPs

Strange… probably it’s unstable result. We need more tests and testers.:thinking:

This says 8:

This picture says 8:

This says 1-8:

So I’m quite sure there is 8 PP.

You mean that Mali450 MP4 means 4PP…!!!

MP4 is the version with four cores (so called fragment processors).

MP4 should have, 4 MP8 - 8, etc; some mali400 has only 2 they labalad as mali400-MP2.

Steps to include lima in 4-19-main (latest)

git clone --depth=10 --single-branch --branch=lima-4.19-rc4 https://gitlab.freedesktop.org/lima/linux/ lima-4.19-rc4

mkdir 4.19-main/drivers/gpu/drm/lima
cp lima-4.19-rc4/drivers/gpu/drm/lima/* 4.19-main/drivers/gpu/drm/lima/
cp lima-4.19-rc/include/uapi/drm/lima_drm.h 4.19-main/include/uapi/drm/
edit 4.19-main/drivers/gpu/drm/Makefile
add to end:  obj-$(CONFIG_DRM_LIMA) += lima/
edit 4.19-main/drivers/gpu/drm/Kconfig
Add latest source: source "drivers/gpu/drm/lima/Kconfig"

Then edit  arch/arm/configs/mt7623n_evb_fwu_defconfig
add:
CONFIG_DRM_LIMA=m
CONFIG_F2FS_FS=y 
CONFIG_COMMON_CLK_MT2701_G3DSYS=y

Edit: 4.19-main/arc/arm/boot/dts/mt7623.dtsi
Add:
        mali: gpu@13040000 {
                compatible = "mediatek,mt7623-mali", "arm,mali-450";
                reg = <0 0x13040000 0 0x30000>;
                interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 171 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 172 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 173 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 174 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 175 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 176 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 177 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 178 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 179 IRQ_TYPE_LEVEL_LOW>,
                             <GIC_SPI 180 IRQ_TYPE_LEVEL_LOW>;
                interrupt-names = "gp", "gpmmu", "pp0", "ppmmu0", "pp1",
                                  "ppmmu1", "pp2", "ppmmu2", "pp3", "ppmmu3",
                                  "pp";
                clocks = <&topckgen CLK_TOP_MMPLL>,
                         <&g3dsys CLK_G3DSYS_CORE>;
                clock-names = "bus", "core";
                power-domains = <&scpsys MT2701_POWER_DOMAIN_MFG>;
                resets = <&g3dsys MT2701_G3DSYS_CORE_RST>;
        };

build && install && boot

[   14.288947] lima: unknown parameter 'debug' ignored
[   14.290425] lima 13040000.gpu: bus rate = 500500000
[   14.290439] lima 13040000.gpu: mod rate = 500500000
[   14.295731] lima 13040000.gpu: mmu gpmmu dte write test fail
[   14.298761] lima 13040000.gpu: ttm finalized
[   14.298796] lima 13040000.gpu: Fatal error during GPU init
[   14.298941] lima: probe of 13040000.gpu failed with error -5

rmmod lima
devmem2 0x10003014 w 0x00000001
modprobe lima

[  275.840275] lima 13040000.gpu: bus rate = 500500000
[  275.840290] lima 13040000.gpu: mod rate = 500500000
[  275.842618] lima 13040000.gpu: gp - mali450 version major 0 minor 0
[  275.842677] lima 13040000.gpu: pp0 - mali450 version major 0 minor 0
[  275.842727] lima 13040000.gpu: pp1 - mali450 version major 0 minor 0
[  275.842778] lima 13040000.gpu: pp2 - mali450 version major 0 minor 0
[  275.842932] lima 13040000.gpu: pp3 - mali450 version major 0 minor 0
[  275.842999] lima 13040000.gpu: l2 cache 8K, 4-way, 64byte cache line, 128bit external bus
[  275.843009] lima 13040000.gpu: l2 cache 128K, 4-way, 64byte cache line, 128bit external bus
[  275.845825] [drm] Initialized lima 1.0.0 20170325 for 13040000.gpu on minor 1

Added to: drivers/gpu/drm/lima/lima_device.c

int lima_device_init(struct lima_device *ldev)
{
        int err, i;
        struct resource *res;

        #ifdef CONFIG_MTK_COMBO_CHIP_CONSYS_7623
        void __iomem *wakeup_register;
        wakeup_register = ioremap(0x10003014 , 0x04);
        writel(0x00000001,wakeup_register); // this may be wrong, may need bitbang 0th bit to 1
        iounmap(wakeup_register);
        mdelay(1000);
        #endif

Enjoy. braah it seems to need some time to wake up. But now it works if unload and reload lima… (no need to tweak devmem more…)

Edit: added delay it need also #include <linux/delay.h>

There is still something odd, it need to load twice until it works.

        #ifdef CONFIG_MTK_COMBO_CHIP_CONSYS_7623
        void __iomem *wakeup_register;
        wakeup_register = ioremap(0x10003014 , 0x04);
        writel(0x00000001,wakeup_register); // this may be wrong, may need bitbang 0th bit to 1
        iounmap(wakeup_register);
        mdelay(100);

        wakeup_register = ioremap(0x10003000 , 0x04); // this is global reset register!!
        writel(0x00000010,wakeup_register); // this may be wrong, may need bitbang 5th bit to 1
        iounmap(wakeup_register);
        mdelay(100);
        #endif

Tryed GPU reset…

2 Likes

BTW it may be a nice idea to use readl(wakeup_register) in Mediatek modified driver to find out how does it exactly wakes up a gpu.

I think it’s here.

Hi why using rc4 and not release? Mhm,it seems there is no final for 4.19…

Why do you use wifi/bt config symbol ( CONFIG_MTK_COMBO_CHIP_CONSYS_7623)? can we now drop devmem calls now?

Have you tried regulator i linked?

have added first changes (till dtsi) to 4.19-lima, but it still seems not working

root@bpi-r2:~# rmmod lima                                                       
root@bpi-r2:~# dmesg | grep lima                                                
[    0.000000] Linux version 4.19.92-bpi-r2-lima (frank@frank-G5) (gcc version 0
[   12.720819] lima 13040000.gpu: bus rate = 500500000                          
[   12.730790] lima 13040000.gpu: mod rate = 500500000                          
[   12.830678] lima 13040000.gpu: mmu gpmmu dte write test fail                 
[   12.925613] lima 13040000.gpu: ttm finalized                                 
[   12.934621] lima 13040000.gpu: Fatal error during GPU init                   
[   12.944896] lima: probe of 13040000.gpu failed with error -5                 
root@bpi-r2:~#                                                                  
root@bpi-r2:~#                                                                  
root@bpi-r2:~# ./a.out 0x1000301C                                               
/dev/mem opened.                                                                
Memory mapped at address 0xb6fe2000.                                            
Value at address 0x1000301C (0xb6fe201c): 0xFFF                                 
root@bpi-r2:~# mv a.out devmem2                                                 
root@bpi-r2:~# ./devmem2 0x10003014 w 0x00000001                                
/dev/mem opened.                                                                
Memory mapped at address 0xb6fbd000.                                            
Value at address 0x10003014 (0xb6fbd014): 0x0                                   
Written 0x1; readback 0x0                                                       
root@bpi-r2:~# modprobe lima                                                    
[  622.543242] lima 13040000.gpu: bus rate = 500500000                          
[  622.548184] lima 13040000.gpu: mod rate = 500500000                          
[  622.553394] [TTM] Zone  kernel: Available graphics memory: 247594 kiB        
[  622.559852] [TTM] Zone highmem: Available graphics memory: 1029416 kiB       
[  622.566400] [TTM] Initializing pool allocator                                
[  622.572377] lima 13040000.gpu: mmu gpmmu dte write test fail                 
[  622.578157] [TTM] Finalizing pool allocator                                  
[  622.583236] [TTM] Zone  kernel: Used memory at exit: 0 kiB                   
[  622.588787] [TTM] Zone highmem: Used memory at exit: 0 kiB                   
[  622.594299] lima 13040000.gpu: ttm finalized                                 
[  622.598561] lima 13040000.gpu: Fatal error during GPU init                   
[  622.604146] lima: probe of 13040000.gpu failed with error -5                 
root@bpi-r2:~#

I’ve tried - boots and inits from 1st attempt, without devmem.

bpi-r2-gentoo ~ # dmesg | grep lima
[   22.977847] LIMA_INIT: lima_clk_init
[   22.977911] LIMA_INIT: lima_clk_init_err:0
[   22.977965] LIMA_INIT: lima_regulator_init_err:0
[   22.982104] LIMA_INIT: lima_dlbu_cpu no err:0
[   22.982176] lima 13040000.gpu: IRQ pmu not found
[   22.982187] lima 13040000.gpu: Lima_init_ip: ip:0, err:0
[   22.982241] lima 13040000.gpu: mmu gpmmu dte write: ADDR:0,val:cafebabe
[   22.982251] lima 13040000.gpu: mmu gpmmu dte read: ADDR:0,val:cafeb000
[   22.982347] lima 13040000.gpu: Lima_init_ip: ip:1, err:0
[   22.982381] lima 13040000.gpu: mmu ppmmu0 dte write: ADDR:0,val:cafebabe
[   22.982389] lima 13040000.gpu: mmu ppmmu0 dte read: ADDR:0,val:cafeb000
[   22.982464] lima 13040000.gpu: Lima_init_ip: ip:2, err:0
[   22.982502] lima 13040000.gpu: mmu ppmmu1 dte write: ADDR:0,val:cafebabe
[   22.982510] lima 13040000.gpu: mmu ppmmu1 dte read: ADDR:0,val:cafeb000
[   22.982588] lima 13040000.gpu: Lima_init_ip: ip:3, err:0
[   22.982636] lima 13040000.gpu: mmu ppmmu2 dte write: ADDR:0,val:cafebabe
[   22.982645] lima 13040000.gpu: mmu ppmmu2 dte read: ADDR:0,val:cafeb000
[   22.982727] lima 13040000.gpu: Lima_init_ip: ip:4, err:0
[   22.982761] lima 13040000.gpu: mmu ppmmu3 dte write: ADDR:0,val:cafebabe
[   22.982769] lima 13040000.gpu: mmu ppmmu3 dte read: ADDR:0,val:cafeb000
[   22.982828] lima 13040000.gpu: Lima_init_ip: ip:5, err:0
[   22.982840] lima 13040000.gpu: IRQ ppmmu4 not found
[   22.982847] lima 13040000.gpu: Lima_init_ip: ip:6, err:0
[   22.982855] lima 13040000.gpu: IRQ ppmmu5 not found
[   22.982861] lima 13040000.gpu: Lima_init_ip: ip:7, err:0
[   22.982870] lima 13040000.gpu: IRQ ppmmu6 not found
[   22.982876] lima 13040000.gpu: Lima_init_ip: ip:8, err:0
[   22.982884] lima 13040000.gpu: IRQ ppmmu7 not found
[   22.982891] lima 13040000.gpu: Lima_init_ip: ip:9, err:0
[   22.982919] lima 13040000.gpu: gp - mali450 version major 0 minor 0
[   22.982978] lima 13040000.gpu: Lima_init_ip: ip:10, err:0
[   22.983008] lima 13040000.gpu: pp0 - mali450 version major 0 minor 0
[   22.983079] lima 13040000.gpu: Lima_init_ip: ip:11, err:0
[   22.983122] lima 13040000.gpu: pp1 - mali450 version major 0 minor 0
[   22.983198] lima 13040000.gpu: Lima_init_ip: ip:12, err:0
[   22.983232] lima 13040000.gpu: pp2 - mali450 version major 0 minor 0
[   22.983307] lima 13040000.gpu: Lima_init_ip: ip:13, err:0
[   22.983340] lima 13040000.gpu: pp3 - mali450 version major 0 minor 0
[   22.983397] lima 13040000.gpu: Lima_init_ip: ip:14, err:0
[   22.983408] lima 13040000.gpu: IRQ pp4 not found
[   22.983416] lima 13040000.gpu: Lima_init_ip: ip:15, err:0
[   22.983424] lima 13040000.gpu: IRQ pp5 not found
[   22.983430] lima 13040000.gpu: Lima_init_ip: ip:16, err:0
[   22.983438] lima 13040000.gpu: IRQ pp6 not found
[   22.983445] lima 13040000.gpu: Lima_init_ip: ip:17, err:0
[   22.983452] lima 13040000.gpu: IRQ pp7 not found
[   22.983459] lima 13040000.gpu: Lima_init_ip: ip:18, err:0
[   22.983468] lima 13040000.gpu: l2 cache 8K, 4-way, 64byte cache line, 128bit external bus
[   22.983477] lima 13040000.gpu: Lima_init_ip: ip:19, err:0
[   22.983485] lima 13040000.gpu: l2 cache 128K, 4-way, 64byte cache line, 128bit external bus
[   22.983492] lima 13040000.gpu: Lima_init_ip: ip:20, err:0
[   22.983499] lima 13040000.gpu: Lima_init_ip: ip:21, err:0
[   22.983507] lima 13040000.gpu: Lima_init_ip: ip:22, err:0
[   22.983514] lima 13040000.gpu: Lima_init_ip: ip:23, err:0
[   22.983606] lima 13040000.gpu: Lima_init_ip: ip:24, err:0
[   22.983615] lima 13040000.gpu: Lima_init_ip: ip:25, err:0
[   22.986047] lima 13040000.gpu: bus rate = 500500000
[   22.986060] lima 13040000.gpu: mod rate = 500500000
[   22.989753] [drm] Initialized lima 1.0.0 20190217 for 13040000.gpu on minor 1
bpi-r2-gentoo ~ # devmem 0x1000301C
/dev/mem opened.
Memory mapped at address 0xb6f00000.
Value at address 0x1000301C (0xb6f0001c): 0xFFF

lima-5.5-merged.txt (63.2 КБ)

bpi-r2-gentoo ~ # ls -la /dev/dri/
итого 0
drwxr-xr-x  3 root root        120 дек 31 16:00 .
drwxr-xr-x 16 root root      13900 дек 31 16:02 ..
drwxr-xr-x  2 root root        100 дек 31 16:00 by-path
crw-rw----  1 root video  226,   0 дек 31 16:08 card0
crw-rw----  1 root video  226,   1 дек 31 16:00 card1
crw-rw-rw-  1 root render 226, 128 дек 31 16:00 renderD128

thanks,so adding this regulator fixes all our problems on init? Did you add any of the mtk specific quirks in driver?

No, only debug messages. Also I’ve tested it across reboot - same result.

Yep :slight_smile:

P.S. I’m still not sure which way is more correct, power-on device on init by driver, or power-on by voltage regulator on boot. 1st is more likely on gpu-less configuration e.g. as router. 2nd let’s use unified driver.

Anyway its a discussion for times when we’ll test both :slight_smile: