The IP block creator is interested in not doing any more work than necessary. They also don't necessarily have a platform for developing and testing software that uses their IP block. Their IP block is set up with the core exchanging data on the signal lines, and they may develop with a test framework instead of an actual core on the other end of those lines. It would obviously be useful if they wrote and provided drivers for their IP blocks, but if their competition isn't doing so either, they can make sales without doing it. And, of course, this is yet another group of people whose technical expertise is not in writing maintainable code in good style (or even software at all). Really, there should be a single driver that goes with each IP block, and the IP block creator should be providing it to the SoC vendor. But they're not going to do the work without demand from the people who pay them.