libv changed the topic of #linux-sunxi to: Allwinner/sunxi development - Did you try looking at our wiki? https://linux-sunxi.org - Don't ask to ask. Just ask and wait for an answer! - This channel is logged at https://oftc.irclog.whitequark.org/linux-sunxi
vagrantc has quit [Quit: leaving]
Mangy_Dog has quit [Ping timeout: 480 seconds]
ftg has quit [Read error: Connection reset by peer]
apritzel has quit [Ping timeout: 480 seconds]
chewitt has joined #linux-sunxi
mripard has quit [Ping timeout: 480 seconds]
hramrach has quit [Ping timeout: 480 seconds]
hramrach has joined #linux-sunxi
mripard has joined #linux-sunxi
<MoeIcenowy> swiftgeek: of course I have the shit T-head PDF
<MoeIcenowy> want me to mail you?
<swiftgeek> got it from sb else already, thanks :D
<swiftgeek> unless there is an _en variant ;D
<MoeIcenowy> apritzel: sounds interesting that it's worth try
<MoeIcenowy> smaeul: is it possible to just implement these instructions with basical instructions in RV to make a Xthead-less binary?
<MoeIcenowy> apritzel: does `b 0x67` mean branch to 0x1a4 aka ((0x67 + 2) * 0x4) ?
<MoeIcenowy> ooops jalr x0, 0xea0(x0) is jumping to absolute address 0xea0
<MoeIcenowy> which is inside BROM
<smaeul> MoeIcenowy: yes, but you would have to figure out the register allocation. it would probably be easier to decompile the Xthead version to C and recompile from there
<MoeIcenowy> maybe we can consider compressed instruction set?
<MoeIcenowy> then we can put 2 instructions in 4 bytes
<MoeIcenowy> and 0xea00 is `sd      s0,16(a2)` (well, if the other part is a jump, this shouldn't get executed at all)
<cyrozap> MoeIcenowy: What are you trying to do? If you just want to be able to run the binary on a different chip that doesn't support the instructions, you could add an illegal instruction handler so those instructions can be emulated by software when the CPU tries executing them.
<MoeIcenowy> although the RVC C.J instruction is 0xa001 | imm
<MoeIcenowy> thus considering the ARM b does *4, it's then spreaded to a very high location
<cyrozap> Or, if you really need to edit the instruction in-place, you can replace it with a jump-with-link to a subroutine that performs the same function with standard instructions.
Jimbob81 has joined #linux-sunxi
Jimbob81 has quit [Remote host closed the connection]
vagrantc has joined #linux-sunxi
faruk has joined #linux-sunxi
sunshavi has quit [Read error: Connection reset by peer]
sunshavi has joined #linux-sunxi
vagrantc has quit [Quit: leaving]
cmeerw has joined #linux-sunxi
apritzel has joined #linux-sunxi
cmeerw has quit [Ping timeout: 480 seconds]
apritzel has quit [Ping timeout: 480 seconds]
apritzel has joined #linux-sunxi
apritzel has quit [Ping timeout: 480 seconds]
tnovotny has joined #linux-sunxi
ftg has joined #linux-sunxi
chewitt has quit [Quit: Zzz..]
chewitt has joined #linux-sunxi
prefixcactus has joined #linux-sunxi
apritzel has joined #linux-sunxi
Mangy_Dog has joined #linux-sunxi
warpme_ has joined #linux-sunxi
choozy has joined #linux-sunxi
chewitt has quit [Remote host closed the connection]
chewitt has joined #linux-sunxi
choozy has quit [Ping timeout: 480 seconds]
<warpme_> can't find what is missing. Is there any 2nd pair of eyes wiling to look on problem with me?
<warpme_> guys: i'm hacking with getting working crust on 5.13-rc6 kernel (i'm adapting LE crust kernel patches to 5.13 kernel) and got it working. Only thing not 100% working are DT changes. Porting 5.12 crust DT changes (h6.dtsi + box .dts) to 5.13 makes box non-booting. But porting 5.12 crust .dts changes to 5.13 & using in 5.13 h6.dtsi from 5.12 gives working crust on 5.13 but with DT warnings. Definitely i miss something - but
obbardc has joined #linux-sunxi
<obbardc> orangepi pc2 booting from spiflash hangs at "Trying to boot from sunxi SPI" with uboot 2021.04 and latest HEAD, any tips ?
<smaeul> warpme_: I pushed the crust and crust-minimal branches rebased on 5.13-rc1. hopefully that helps. some of the patches were merged during 5.13
<warpme_> oh great!
cmeerw has joined #linux-sunxi
faruk has quit []
<warpme_> smaeul: hmm - so after looking on your code i see some things are unclear for me. to get box booting with crust working on 5.13 i'm using this patch on h6.dtsi: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-5.13/files/0552-arm64-dts-ARM-dts-allwinnerh6-enable-crust.patch For sure this patch is not fully correct! iirc L81 was very suspicious as without it (iirc) box is not-booting. Maybe you have some
<warpme_> hints here?
<warpme_> there is some junk in this patch so pls don't shut me. it is just wip
<apritzel> obbardc: when was this last time working for you? 2021.01?
<obbardc> apritzel: untested yet, i will try an older build
<jernej> smaeul: are "PM / devfreq" patches in your crust branch just cleanup or they help with something on sunxi platform?
<apritzel> obbardc: I will have a closer look tonight (unless you beat me to it), thanks for the heads up anyway
<jernej> ah, I guess it's for mbus driver
<obbardc> apritzel: 2020.07 broken, maybe its how i am flashing. sunxi-fel -p spiflash-write 0 u-boot-sunxi-with-spl.bin
<warpme_> smaeul: ok. pls not waste your time on my patch. i'll go with all your patches on 5.13 and will report how it goes. thx for rebasing your nice work on 5.13!
<apritzel> obbardc: if 2020.01 works, but 2020.04 doesn't, then it's me to blame ;-)
<jernej> smaeul: does mbus driver bring some performance improvements or just power savings?
choozy has joined #linux-sunxi
matteoscordino has joined #linux-sunxi
<obbardc> apritzel: 2020.01 doesnt work, so i don't think you are to blame :p
<apritzel> obbardc: how do you populate the flash?
<obbardc> literally just flash directly using: "sunxi-fel -p spiflash-write 0 u-boot-sunxi-with-spl.bin"
<apritzel> right, that's the best working option
<apritzel> (even though a bit cumbersome, since it requires FEL)
<apritzel> obbardc: does that same image work from an SD card?
<apritzel> (because that message would be the last to see if Trusted-Firmware was missing or wrong as well)
<warpme_> guys: quick q: dmesg on h616 no matter what not shows me anything about mmc2 (wifi). Is this possible because wifi chip not receiving power so mmc2 will not appear on dmesg?
<apritzel> warpme_: do you have the WiFi in your DT? And also the number in mmc<x> can vary across boots
<obbardc> apritzel: looks like you are right, with SD card it hangs at "Trying to boot from MMC1", ATF is HEAD from https://github.com/ARM-software/arm-trusted-firmware
Net147 has quit [Quit: Quit]
Net147 has joined #linux-sunxi
martinayotte has quit [Remote host closed the connection]
<warpme_> apritzel: re dt: yes. and indeed mmc numbering isn't consistent (i'm talking about 3rd mmc; 1st is boot. 2nd is eMMC) in dmesg i see mmc with SD card, mmc with eMMC and that's all. no 3rd mmc device. trying understand: is this because dt wifi fragment is wrong or is this because issue is within kernel....
Net147 has quit []
Net147 has joined #linux-sunxi
<apritzel> obbardc: since you have a working FEL setup: try booting the whole thing via FEL: build latest U-Boot master, then just use "sunxi-fel -v -p uboot u-boot-sunxi-with-spl.bin" (with some recent sunxi-fel version)
<apritzel> warpme_: I think you should see some attempts from the kernel to bring up the MMC, if the DT node is enabled
<apritzel> warpme_: but what are you expecting anyways? AFAIK most (if not all?) H616 use this totally unsupported AW WiFi chip?
<warpme_> exactly. this was also my feeling.... re: aw chip: i already ported it to 5.13 (i mean all kernel api calls so it builds clean).
<warpme_> but i have also 2nd h616 box with famous xr819 (where we have driver)
<apritzel> warpme_: you are way too off-tree for my taste (both for the XR819 and the AW859A)
<warpme_> for sure getting aw chip will be not easy as in code i see they have conditionals to use direct gpio mangling for aw/rk/hisi/aml. but code alternative path seems to mangle with sdio operations quite similar like in other sdio chips so maybe there is chance?. Maybe - at some point in time - somebody in community knowing way better than me sdio will co-work to get aw859a working on mainline?
<obbardc> apritzel: boot from spi all working fine on u-boot HEAD now; turns out i was using the wrong ATF target ! doh! thanks for the help
<apritzel> obbardc: happens to me all of the time! ;-) I now use a build.sh which automatically picks the right bl31.bin file
<warpme_> driver already seems to abstract to hw in quite similar way how rt drivers are doing. somebody good in sdio can read aw-speciffic gpio code and translate it to mainline infra (at least i'm naive enough to imagine this ;-\ )
Net147 has quit [Quit: Quit]
Net147 has joined #linux-sunxi
<apritzel> warpme_: are you talking about this uwe5622 driver from the BSP?
<warpme_> yes
Net147 has quit []
Net147 has joined #linux-sunxi
<apritzel> most of those BSP/vendor drivers are complete crap and light years away from being mainlined
<warpme_> ough....
Net147 has quit []
Net147 has joined #linux-sunxi
<warpme_> smaeul: fyi: 5.13-rc6 with your crust code builds clean & works nicely (so far tested on single h6 box). great work!
<warpme_> smaeul: fyi2: on gs1 crust (probably?) gives me kernel trap like this: https://pastebin.com/phyfsF48
<warpme_> i remember i had this also with my crust hacking on 5.13 - so mabye this is gs1 DT issue?
<warpme_> (infact this trap was exact reason why i poped here with my crust 5.13 hacking topic)
choozy has quit [Ping timeout: 480 seconds]
chewitt has quit [Read error: Connection reset by peer]
<jernej> apritzel, smaeul: RSB also uses open-drain driver, right?
<jernej> not sure why RSB wouldn't work on GS1
<apritzel> jernej: the manual mentions "supports push-pull bus", not sure what that means exactly, though
<apritzel> jernej: is there some I2C device on the bus, as on the Pine H64?
<jernej> apritzel: from what I know, there is no additional devices on the bus and two pull ups are on the SCK and SDA line
<jernej> so, pretty much same as OPi3, for example
<karlp> pretty happy with getting only 50usecs back to back from userspace spidev transactions on H3 :) https://bin.jvnv.net/file/CD8pI.png
Net147 has quit [Quit: Quit]
Net147 has joined #linux-sunxi
tnovotny has quit []
vagrantc has joined #linux-sunxi
prefixcactus has quit [Ping timeout: 480 seconds]
<gamiee> karlp: that's amazing!!!
<karlp> that's python spidev too,
<karlp> little curious about why CS stays asserted for "a while" after the clock finishes, but, more than sufficient for my use cases
tuxd3v has joined #linux-sunxi
<tuxd3v> hello guys , I have i2c0, and i2c2 on gpio SoC H3, if I do a i2cdetect on 2 its ok, but if I do it on 0, it says clobk blocked :/
<tuxd3v> I was looking at sunxi-h3-h5.dtsi, and I don't find what is provoking this..
<tuxd3v> both i2c signals should be on gpio
<tuxd3v> mv64xxx: I2C bus locked
<tuxd3v> what you guys think would be the problem?
<apritzel> tuxd3v: your usage of "GPIO" is confusing: by definition it's a pin which level can be set by software (bit-banged)
<apritzel> tuxd3v: which can also be used to drive an I2C bus, "manually"
<tuxd3v> apritzel, yes the i2c bus works nicely on i2c2, but not on i2c0 :/
<apritzel> but when you use the I2C controllers in the SoC, which can be connected to certain pins, it's not "GPIO" anymore
<tuxd3v> I mean the Board GPIO :)
<tuxd3v> not the pins GPIO :)
<apritzel> no, you mean the board pins or headers
<tuxd3v> not the Soc gpio pins :)
<tuxd3v> apritzel, yes that is another way of saying that :)
<tuxd3v> but the problem is that i2c0 doesn't work when I try i2cdetect on him :(
<apritzel> ... a confusing way which you should avoid
<apritzel> pull ups are something you could try
<tuxd3v> the board has no pull ups in its design nor i2c0 nor i2c2
<tuxd3v> but i2c2 works..
<apritzel> is there something that incluences the I2C0 pins (always pulling low or high)?
<apritzel> and please double check this, because many boards *have* external pull up resistors on header pins that are meant for I2C
<tuxd3v> nope everything conected straight to the SoC
<apritzel> sure, but also to some VCC?
<tuxd3v> I mean I am only looking for the schematics, maybe my board is some revisions that has, I don't know about that.. they are not in the chematics..
<apritzel> the pull ups might be separate, on many schematics they just reference the net labels and group pull-ups in one place
<apritzel> so it's not immediately obvious if you just look at the "CPU" or "connector" page
<apritzel> and you could just measure it (with the board being off)
<apritzel> if there are no external pull-ups, you would need to activate the internal ones
<tuxd3v> ho.. how can I activate i2c0 internal ones?
<apritzel> try "bias-pull-up;" in the respective pinctrl DT node
<apritzel> tuxd3v: what board is this?
<tuxd3v> its nanopi neo air
choozy has joined #linux-sunxi
cmeerw has quit [Ping timeout: 480 seconds]
jernej_ has joined #linux-sunxi
jernej has quit [Read error: Connection reset by peer]
ftg has quit [Read error: Connection reset by peer]
choozy has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<smaeul> jernej_: the mbus devfreq driver is just for power savings
<smaeul> warpme_: the bug is that you are replacing the mainline sun6i-r irqchip driver with an older version in https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-5.13/files/0551-allwinner-add-crust-support.patch
<smaeul> the older version had a different binding, so it is not compatible with your device tree