Open benediktibk opened 1 month ago
This is a tricky one.
Next week is the riscv summit so I likely won't be able to make the arch meeting.
Is there any more information on option 3?
It would be great to have a good solution to the multi-instance problem.
This is a tricky one.
Next week is the riscv summit so I likely won't be able to make the arch meeting.
Is there any more information on option 3?
It would be great to have a good solution to the multi-instance problem.
No hurry from side, I can also try to get it into the Arch WG meeting on a later date.
Regarding option 3: My idea for this would be that the FPGA driver deinitializes its SPI master peripheral before the start of the bitbang operation and initializes it again afterwards. But as this infrastructure doesn't yet exist I do not have a more detailed plan than this.
Introduction
Currently it is not possible to have multiple ICE40 on the same SPI bus, as described in #77983. The reason for this is the necessity in some cases to do some bitbanging instead of real SPI to get the timing right. To do so the ICE40 driver currently instantiates the pinctrl config from its parent, the SPI master, which will create a name collision if multiple ICE40 are on the same SPI bus.
Proposed change
There are several options how this problem can be addressed:
This issue has already been discussed in the Dev-WG and the decision there was to try find a bigger audience to get more inputs. Therefore, I'm absolutely glad for ideas on how I can proceed. It is a nasty bug, which we should definitely get rid of in the long run.