--- Log opened Mon Jul 27 00:00:33 2015 | ||
stekern_ | mor1kx shouldn't issue 0x1003, unless you have a very old version | 03:04 |
---|---|---|
stekern_ | and if you really got the result you are claiming, that would indeed be wrong, but I somehow doubt that you actually got that. | 03:15 |
stekern_ | consider this test: http://pastie.org/10313793 | 03:17 |
stekern_ | it should yield this result: http://pastie.org/10313793 | 03:19 |
stekern_ | andrzejr: ^ | 03:19 |
stekern_ | sorry, http://pastie.org/10313794 | 03:20 |
stekern_ | is the paste with the result | 03:21 |
andrzejr | stekern_, I'm using fusesoc, so mor1kx is from github/openrisc/mor1kx/master | 06:58 |
stekern_ | yeah, actually, maybe it's only on stores that the lower 2 bits are masked | 07:04 |
stekern_ | but, to answer your question. slaves should not rely on the lower two bytes if they are a 32-bit slave, if they are a 8-bit slave, they of course can. but the interconnect should then use the bytesel to generate these. | 07:10 |
stekern_ | and to answer your other question, 3(r0) will generate a wb_sel 0x1, it's the lsb you are picking out | 07:13 |
andrzejr | stekern_, the code I'm using is in http://pastie.org/10313999 but (I think) there is nothing special in it. I've added dummy 8- and 16-bit reads for debugging. | 07:19 |
andrzejr | the _pbtn gpio is connected via an 8-bit bus, _sw and _led gpio's use 32-bit bus (wb_interconnect does not support 16-bit buses yet) | 07:20 |
andrzejr | bus waveforms: http://i.imgur.com/ZCjlSG3.png | 07:24 |
andrzejr | stekern_, wb_data_resize currently does https://github.com/openrisc/orpsoc-cores/blob/master/cores/wb_intercon/wb_data_resize.v#L48 | 07:29 |
andrzejr | this works but it puts the byte in bits [7:0] of the register. The same value read with l.lwz ends up in bits [31:24] (are mor1kx registers BE encoded?) | 07:32 |
andrzejr | stekern_, it seems like the root of the problem is trying to read an 8-bit IO (as defined wb_interconn) using 32-bit instructions. | 08:12 |
stekern_ | well, it's supposed to always put the result in the [7:0] bits of the register for an 8-bit load | 08:12 |
andrzejr | 32b reg read with 32b instruction -> OK, 8b reg read with 8b instruction -> OK, 8b reg read with 32b instruction -> fail. | 08:13 |
stekern_ | yes | 08:14 |
andrzejr | wb_data_resize assumes that the access is always 8-bit wide. I will try to fix it later. | 08:15 |
andrzejr | thanks for all the help, very useful. | 08:15 |
stekern_ | np | 08:18 |
olofk | stekern_: Got any fancy keys signed lately? | 11:09 |
stekern_ | olofk: nope :( | 11:16 |
olofk | stekern_: Ah ok. And still not sure you'll make it to orconf? | 11:17 |
stekern_ | not 100%, but I'll try to get there saturday and leave early sunday | 11:18 |
olofk | Cool. Hope you'll make it | 11:18 |
stekern_ | I just need to find someone to watch the kids | 11:19 |
olofk | webcam and money for pizza? | 11:19 |
stekern_ | good idea ;) | 11:20 |
--- Log closed Tue Jul 28 00:00:35 2015 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!