<tokyovigilante>
Ah ok. No I have gone down a rabbit hole of changing values while only vaguely understanding the science behind it :) Thanks for pointing out where the 90316800 comes from, makes more sense now. Should be able to replicate the correct behaviour now
<apritzel>
and for the sake of completeness: those base frequencies are (44100 * 512) and (48000 * 512), so the two common sample rates *shifted*
<apritzel>
I *think* the 512 is: 32 bits / sample * 2 channels * 4 times the base sample rate
<apritzel>
well, that's 256, of course, but close enough ;-)
<loki666>
The Wikipedia intro page for SDM is tax form explanation level WTF
<apritzel>
loki666: didn't I say "rocket science" above? ;-)
<loki666>
Yes but I don't think there is any "science" in SDM... More like voodoo
<apritzel>
I think SDM just refers to the technology used to efficiently implement the fractional divider, on top of this there is the whole PLL voodoo ...
ftg has quit [Read error: Connection reset by peer]
apritzel has quit [Ping timeout: 480 seconds]
hexdump0815 has joined #linux-sunxi
hexdump01 has quit [Ping timeout: 480 seconds]
JohnDoe_71Rus has joined #linux-sunxi
<tokyovigilante>
I didn't put any of the DTS routings in v1 because the RG35XX devices need an extra GPIO outside the codec to enable the headphone switch, so they will need a separate simple sound card device, but that can come as a different patch
<tokyovigilante>
Ah this absolutely works, awesome! Thanks apritzel. Will collate the rest of the changes and send a v2 in presently
<MasterR3C0RD>
It makes a few patterns a little more obvious, for example that the delay0 registers are mixed with the delay1 registers
<MasterR3C0RD>
Rather, interleaved
JohnDoe_71Rus has quit [Quit: KVIrc KVIrc Quasar 5.2.4, revision: 5.2.4+git-7601-7e87d9ac7, build type: debug, sources date: 20160102, built on: 2024-09-17 16:31:20 UTC 5.2.4+git-7601-]
apritzel has quit [Ping timeout: 480 seconds]
<loki666>
apritzel: I doesn't really help. But thanks.
montjoie has joined #linux-sunxi
warpme has quit []
wingrime1 has quit [Ping timeout: 480 seconds]
apritzel has joined #linux-sunxi
Schimsalabim has quit [Ping timeout: 480 seconds]
Schimsalabim has joined #linux-sunxi
Schimsalabim has quit [Ping timeout: 480 seconds]
Schimsalabim has joined #linux-sunxi
Parthiban has joined #linux-sunxi
Parthiban has quit [Remote host closed the connection]
Parthiban has joined #linux-sunxi
<Parthiban>
MasterR3C0RD: From Andre Przywara in the linux mainling list I understand that you have a working / WIP tree for A133 u-boot with DRAM support. Shall I already pull it get it to work with upstream u-boot? Thanks.
<apritzel>
parthiban: Hi, welcome back ;-)
<Parthiban>
apritzel: Thanks.
<apritzel>
parthiban: if you check the logs, MasterR3C0RD posted a link to his repo earlier today
<apritzel>
though that's just the DRAM bits, there is more code needed to support the A133
<paulk>
oh glad to see Allwinner finally stopped merging the PHY and uMCTL2 registers
<paulk>
is there ongoing work for T527 btw?
<apritzel>
paulk: DRAM driver or general?
<Parthiban>
apritzel: checking the changes.
<paulk>
apritzel: both I guess :)
<apritzel>
I am chasing a weird bug in my clock driver, but apart from that I got a 6.12-rc1 based tree with working pinctrl, clocks, watchdog, USB2.0, I2C, PMICs, MMC
<apritzel>
ready to post that once I find that issue either in PLL_PERIPH0 or the MMC mod clock, it breaks MMC support unless I hack it
<apritzel>
I also have the U-Boot bits without DRAM, and am using an improved Syterkit branch to replace the SPL and load U-Boot proper. MMC and USB work in U-Boot as well
<paulk>
nice work :)
<Parthiban>
apritzel: Oh, that's great. Do you have the cpu pll clock driver as well lined in?
<apritzel>
I have some sketch for that, but don't use that at the moment. There are still some question marks, but it's not a show stopper at the moment
<apritzel>
I have a PRCM CCU driver as well, which is more important, since we need that for the I2C port driving the PMIC
<paulk>
parthiban: btw there's plenty of SoCs that use the same uMCTL2 (it's probably the most widely-used DRAM controller these days) and that have documentation about it in their SoC manual
<paulk>
most recent TI chips for example
<Parthiban>
apritzel: Ok, I had it started a while ago for A523 CPU pll and swapped to A133.
<paulk>
also there's the uMCTL2 databook but it's unfortunately not public
<paulk>
TI's SPRUID7E is a good reference
Schimsalabim has quit [Ping timeout: 480 seconds]
<paulk>
well you might know about this already
Schimsalabim has joined #linux-sunxi
<apritzel>
paulk: thanks, that's interesting. Though a lot of problems come from Allwinner mix-and-matching other components (like the PHY), and then seemingly deviating from JEDEC timings as well
<apritzel>
so it's a pure binary, mixed ARM/Thumb2, linked to run at like 0x7280000 (in SRAM A3)
<apritzel>
so any help here would be greatly appreciated!
<paulk>
yeah I've had a look at it some time ago with ghydra
<paulk>
it's pretty big
<paulk>
could be easier to just trace its I/O
<paulk>
is that running with some virtual memory enabled? (I guess not...)
<paulk>
either way JTAG could help
wingrime-ww has joined #linux-sunxi
Parthiban has joined #linux-sunxi
<apritzel>
Syterkit doesn't enable the MMU until after DRAM init
Qplus has joined #linux-sunxi
<apritzel>
but we can of course hack it, or even run it with something in AArch64 EL2 tracing the MMIO
Qplus has quit []
ats has quit [Quit: leaving]
hazardchem has quit [Read error: Connection reset by peer]
hazardchem has joined #linux-sunxi
ats has joined #linux-sunxi
Parthiban has quit [Ping timeout: 480 seconds]
apritzel has quit [Ping timeout: 480 seconds]
dsimic is now known as Guest6893
dsimic has joined #linux-sunxi
Guest6893 has quit [Ping timeout: 480 seconds]
<MasterR3C0RD>
parthiban, apritzel: I hink I forgot to mention that I had also rebased the A133 patchsets Allwinner had sent in: https://github.com/BrokenR3C0RD/linux-a100
<MasterR3C0RD>
From my understanding, there are a few drivers still missing for the A100 series even with all this, though I also didn't dig in incredibly deep before locking into the DRAM reverse engineering; LCD support comes to mind as one of the standouts
warpme has joined #linux-sunxi
<MasterR3C0RD>
The GPU is also a WIP; Imagination has been working on porting other Rogue GPUs. I opened an issue on their linux-firmware thread to request some of the missing basic bits, as they've been pretty good for it so far: https://gitlab.freedesktop.org/imagination/linux-firmware/-/issues/5
apritzel has joined #linux-sunxi
<MasterR3C0RD>
s/thread/project/
JohnDoe_71Rus has joined #linux-sunxi
<apritzel>
MasterR3C0RD: ah, great! Do you mind posting them? You would need to add your Signed-off-by:, but keep the original authorship and S-o-B:
<apritzel>
then we can review them and get them on the way
Schimsalabim has quit [Read error: Connection reset by peer]
Schimsalabim has joined #linux-sunxi
Schimsalabim has quit [Read error: Connection reset by peer]
<MasterR3C0RD>
apritzel: Sure! It looks like the old patches also had reviewed-by you, do I keep those?
Schimsalabim has joined #linux-sunxi
<apritzel>
yes, if there is no significant change
<apritzel>
MasterR3C0RD: does your device have an AXP717 or AXP707 PMIC? Seems like the older devices (like my tablet) used a 707, but newer ones settled for the newer 717?
<MasterR3C0RD>
apritzel: The PMU in mine is referred to by boot0 as AXP806, but is compatible with the AXP305 SPL driver
<MasterR3C0RD>
Sadly identifying by chip is impossible, as all components were rebadged with Creality part numbers
warpme has quit []
<apritzel>
MasterR3C0RD: that's alright, it's the same driver anyway, so any name we put to it is mostly cosmetic
<apritzel>
I just realised that the AXP707 is basically the same as the good ol' AXP803 (of A64 fame)