Hi Jerry,
modern Linux kernels do not need udev at all for firmware loading. All required functionality is built into the kernel, so no userspace tools are required anymore.
You only have to specify the filename of the SDMA firmware in the device tree node of the SDMA. The firmware file then needs to be placed under /lib/firmware/.
You have to take care, that the firmware is available when the SDMA driver is initialized. I'm not sure what happens if the SDMA driver is linked into the kernel (no module). Maybe the initialization happens before the root fs is mounted and the firmware is not available yet. In my project, I have compiled the SDMA driver as a kernel module which is loaded after the root fs is available.
Technically you could link the SDMA firmware binary into the kernel (as builtin firmware). But in my opinion the license of the SDMA firmware is incompatible to the GPLv2 of the kernel.
I hope that I could answer you questions. If you have further questions about the SDMA, don't hesitate to contact me directly (I don't read the forum every day).
Best regards
Christian