KREYREN_oftc has quit [Remote host closed the connection]
KREYREN_oftc has joined #linux-sunxi
KREYREN_oftc has quit [Remote host closed the connection]
KREYREN_oftc has joined #linux-sunxi
montjoie_ has joined #linux-sunxi
montjoie has quit [Ping timeout: 480 seconds]
apritzel has quit [Ping timeout: 480 seconds]
ftg has quit [Read error: Connection reset by peer]
bauen1 has joined #linux-sunxi
<MoeIcenowy>
apritzel: some PLL divider?
hexdump0815 has joined #linux-sunxi
hexdump01 has quit [Ping timeout: 480 seconds]
qwestion has quit [Ping timeout: 480 seconds]
JohnDoe_71Rus has joined #linux-sunxi
<fraolt>
My understanding is that there is no dependency between GPU frequency and screen update. But I have no experience with these things, so I could be completely wrong.
<fraolt>
I'd assume that the video out uses the "latest" frame, right. If the GPU doesn't provide a new frame I'd assume it still uses the old one.
<fraolt>
¯\_(ツ)_/¯
<fraolt>
And for the record: In the 240 MHz scenario, the OPP for the GPU are still 120, 312, 432. The PLL_GPU runs at 240 MHz and the GPU uses a divider of 2.
<fraolt>
I'm starting to wonder if the Mali400 has a minimum frequency, could that be?
gsz has joined #linux-sunxi
<MoeIcenowy>
fraolt: it's possible that the PLL has a minimum frequency
<MoeIcenowy>
although GPU having a minimum is also possible -- but maybe you can try to put it on a clock source that bypasses PLL?
<MoeIcenowy>
oh sorry the GPU clock has no bypass option
<MoeIcenowy>
unlike the CPU clock
<MoeIcenowy>
but I think the CPU could work well when bypass PLL
<fraolt>
PLL has a min freq of 192 MHZ (according to the manual). GPU is connected to PLL_GPU via a divisor.
<mps>
diego71: linux-sunxi-6.5.10-r0.apk is alpine package and it could be untarred by 'tar' and there is config file inside
<fraolt>
MoeIcenowy: Out of curiosity, how would you bypass PLL for the CPU? I've looked at the manual and couldn't find anything in the CPUCFG register.
apritzel has joined #linux-sunxi
kuba2k2 has joined #linux-sunxi
<MoeIcenowy>
fraolt: the CPU clock has selectable parent
<MoeIcenowy>
well my assumption is wrong and PLL couldn't be bypassed for GPU
<fraolt>
ok, thx
hexdump0815 has quit [Quit: WeeChat 3.8]
evgeny_boger has joined #linux-sunxi
hexdump0815 has joined #linux-sunxi
<apritzel>
fraolt: so where does this mandatory(?) /2 divider come from? I cannot find that in the manual or Linux' clock driver.
<apritzel>
Does Linux set the PLL to 240, to be over the minimum, then divide in the mod clock by 2, to get to the required 120 MHz?
<fraolt>
Yes, GPU iterates over the divisors: GPU requests (through CCU) 120MHz (M=1) for PLL_GPU and PLL_GPU returns 192 (because I set a minimum of 192), then GPU requests 240 MHz (M=2) from PLL_GPU and PLL_GPU returns 240. Done!
<fraolt>
s/CCU/CCF/
dsimic is now known as Guest14830
dsimic has joined #linux-sunxi
Guest14830 has quit [Ping timeout: 480 seconds]
JohnDoe_71Rus has joined #linux-sunxi
<gamiee>
apritzel: ping
evgeny_boger has quit [Ping timeout: 480 seconds]
ftg has joined #linux-sunxi
swiftgeek has quit [Quit: swiftgeek]
<apritzel>
gamiee: see the topic ;-)
<gamiee>
apritzel: sorry, I know the topic, just I wanted to know if you are there. :D Please, did you saw my question about the CLI format for sid-write ?
<apritzel>
ah yeah, right. Don't know a good way either, requiring a file seems a bit over the top, if you just want to write a word, though it's more flexible - and would avoid accidental usage
<apritzel>
otoh given the wrong or a too long file might mess up your SID properly
<KREYREN_oftc>
This kernel won't produce a working wayland on alpine/pmos any idea why? https://dpaste.org/EHUhA/raw
<KREYREN_oftc>
uses mesa 23.3.3-r0
<gamiee>
apritzel : hmm, so the following syntax should be sufficient I think?: `sid-write offset value` . User can still chain sid-writes or use lib_fel directly. Also, it should be `sid-write` or `sid-writel` ?
<apritzel>
gamiee: if we stick with this direct write interface, it should be sid-writel. But are all interesting values 32-bit aligned full words?
<apritzel>
KREYREN_oftc: is there some Alpine/PMOS config you could use as a starting point? It's probably easier to use that and enable Allwinner drivers, because that covers all distro's needs
<KREYREN_oftc>
apritzel, this is the custom kernel they use for allwinner
<KREYREN_oftc>
that i added EFI support into
<KREYREN_oftc>
the custom kernel config for the device i spoke about earilier is supposed to be separate from this
swiftgeek has joined #linux-sunxi
<apritzel>
well, custom kernel configs lead exactly to those problems you experience, and there is no easy solution other than to debug that, sorry
<apritzel>
if you have some kind of working config (for another version, or another board), you can try to bisect over the config
<f_>
KREYREN_oftc: I doubt the kconfig would cause such issues TBH
<f_>
the kconfig currently used in pmOS, that is.
<KREYREN_oftc>
f_, seems to work on linux-edge on alpine
<KREYREN_oftc>
oh maybe it's bcs of the pine64 patches
<f_>
IIRC pp uses the same kernel
<f_>
Well no, ppp uses the same kernel.
<f_>
KREYREN_oftc: Well if everything works with linux-edge then use it \o/
<KREYREN_oftc>
f_, i want more allwinner oriented kernel bcs linux-edge has working gnome and stuff but the device suffers performance-wise on a bloated kernel that just unloads a huge amount of modules on it
<f_>
ok.
<apritzel>
KREYREN_oftc: "suffers performance-wise on a bloated kernel"> are you sure about that? What does cause performance issues, exactly?
kuba2k2 has quit []
kuba2k2 has joined #linux-sunxi
warpme has quit []
kuba2k2 has quit [Ping timeout: 480 seconds]
kuba2k2 has joined #linux-sunxi
warpme has joined #linux-sunxi
warpme has quit []
warpme has joined #linux-sunxi
kuba2k2 has quit [Ping timeout: 480 seconds]
<gamiee>
apritzel : yes, from what I saw in SID for H3, the smallest "field" have one 32b, the biggest have eight of them. The file can be mess, but it can be useful for writing keys (what should be that 8x 32b values). Eventually, we can add some prompt which user needs to confirm before writing the file, like: "14 bytes will be written to SID, offset 0x18, thus this range of SID will be burned <0x18, 0x26>. Do you want to continue?"
<apritzel>
I guess we will discuss the details on github, just do a PR and I will have a look
apritzel has quit [Ping timeout: 480 seconds]
warpme has quit []
warpme has joined #linux-sunxi
<gamiee>
alright :) will clean it up a bit and send a PR. Thanks !
alikateshethey[m] has left #linux-sunxi [#linux-sunxi]
alikates has joined #linux-sunxi
alikates has quit []
alikates has joined #linux-sunxi
kuba2k3 has joined #linux-sunxi
<alikates>
Hello, I recently bought one of those cheap android projectors and it comes with an Allwinner H713 cpu. I managed to dump the firmware and from it looks like its a respin of the TV303. I want to add support for it in mainline linux, so I wonder if anyone else has any technical info about this CPU models
<alikates>
Also, the board of this device has a USB host port for attaching drives with videos and stuff, could this be a dual-role port which I can use to access FEL mode? Maybe somebody has experience where turns out it is indeed a dual-role port
<gamiee>
gnarface : no problem :)
<gamiee>
hi alikates , can you share link to the projector?
alikates has quit [Remote host closed the connection]
machinehum has joined #linux-sunxi
alikates has joined #linux-sunxi
alikates_ has joined #linux-sunxi
alikates has quit [Quit: Konversation terminated!]
alikates_ has quit []
alikates has joined #linux-sunxi
warpme has quit []
kuba2k3 has quit [Ping timeout: 480 seconds]
machinehum has quit [Ping timeout: 480 seconds]
warpme has joined #linux-sunxi
warpme has quit []
hexdump0815 has quit [Quit: WeeChat 3.8]
hexdump0815 has joined #linux-sunxi
machinehum has joined #linux-sunxi
warpme has joined #linux-sunxi
warpme has quit []
machinehum has quit [Ping timeout: 480 seconds]
machinehum has joined #linux-sunxi
warpme has joined #linux-sunxi
machinehum has quit [Ping timeout: 480 seconds]
warpme has quit []
kuba2k2 has joined #linux-sunxi
apritzel has joined #linux-sunxi
machinehum has joined #linux-sunxi
kuba2k2 has quit []
machinehum has quit [Ping timeout: 480 seconds]
gnarface has joined #linux-sunxi
gnarface has quit []
gnarface has joined #linux-sunxi
<karlp>
wht's the projector quality like itselfthough?
machinehum has joined #linux-sunxi
machinehum has quit [Ping timeout: 480 seconds]
<alikates>
pretty bad, the lighting isn't uniform and gets quite hot. but for watching youtube in my bedroom its enough
machinehum has joined #linux-sunxi
<apritzel>
alikates: I think so far every board that has USB had the USB0 port connected, allowing FEL access
<apritzel>
you need one of those non-standard A-to-A cables
<apritzel>
but it's actually quite common: TV boxes do this, and even the Pine64 board have it that way
<apritzel>
can you put the projector into FEL mode? Does it have a button, or an SD card slot?
<alikates>
It has a button which was hidden by the case and i suspect it's for FEL, but cannot verify unless i wire up the usb to a PC. Btw it has UART exposed in a couple pads so I could get to an android shell, that's how i dumped the fw
<alikates>
The button seems to hang the boot process somehow, at least from what I see with the UART
<apritzel>
that sounds like the FEL button, the BROM now patiently waits for a USB host to connect
<apritzel>
and I don't think we have any manual for a this "sun50iw12, SoC ID 0x1860, TV303 or H713"
<alikates>
I also got access to the uboot, but the config parameters are stored as a raw string in a partition called 'env'. And when i changed it to not auto-boot it dropped me to the uboot shell because it cannot recognize some commands
<alikates>
ah, it has kernel 5.4
<apritzel>
the vendor U-Boot is typically pretty useless
machinehum has quit [Ping timeout: 480 seconds]
<alikates>
the boot process seemed quite non standard though...
<apritzel>
github code search produces some hits for sun50iw12, it looks like pinctrl and CCU drivers are among them, which would be the biggest issues, from the Linux side
<alikates>
is it common in allwinner to use OP-TEE? I'm used to qualcomm which uses its closed source trustzone
<apritzel>
their U-Boot is just enough to get Android booted, typically. And they lack the most useful commands
<apritzel>
we haven't seen OPTee in the vendor stack yet, I think
<apritzel>
though that's not really relevant, as we usually replace all vendor firmware parts anyway
<apritzel>
what AW provides is just a waste of time, you can just use it to gain information about the system
<alikates>
I have a DTB dump, looks reasonable but there's some enabled stuff that doesn't make sense and gives a really cheap vibes, like digital TV decoder
<apritzel>
AW's DTB is pretty good to scare small children. The newer ones were better (A523), but still contain contradictory information at times
<apritzel>
again you can sometimes extract information (which pins are used, where is the WiFi connected, which PMIC rail supplies which peripheral)
<apritzel>
but that all needs to be double checked and verified
<alikates>
So, all the "allwinner,whatever" nodes are for their non-public drivers?
<alikates>
My main concern would be the display driver, but I have a feeling it's just standard DSI
<apritzel>
depends. They use some mainline drivers. The latest code drop (for the A523) was pretty good in using upstream drivers, but I don't know how old your kernel drop is
<apritzel>
5.4 doesn't sound too good
<alikates>
okay, I'll continue my research next week. Thank you!
<apritzel>
basic functionality (UART, SD card, eMMC, USB) is probably quickly relatively achievable. WiFi depends on the WiFi chip
<alikates>
Btw, where is the uboot tipically stored? I couldn't find it in the emmc
<apritzel>
alikates: yes, please, collect as much information as possible, the truth lies often in the combination of all pieces
<alikates>
do you usually chainload mainline uboot or just replace the existing one?
<apritzel>
try to keep the vendor system alive, it's often very valuable to either harvest sysfs/debugfs, or dump registers from the booted system
<apritzel>
we typically replace it quite quickly
<alikates>
Okay
<alikates>
ty!
<apritzel>
the DRAM init code is the most nasty showstopper, but there are tricks to use at least that from the vendor, for the initial phase
<apritzel>
new SoC enablement is quite some work, especially without a manual, so brace yourself and take your time, but we are here to help
<apritzel>
Mali G31 and quad A53 with Android 13 suggests it's close to the H616, but it apparently has a different SoCID, which means it's not just a die variant, like the H700 or T507